CPANの更新で問いただされるapxsのパス
which apxsでも見つからなくて、
find / -name apxsを叩くとかなり時間がかかって
/user/sbin/apxs
と表示された
昨日、yum一括更新を行ったのですが、その後でどうもクローラが正常に機能しなくなりました。
ログを見てみると、Compress::Zlibで以下のようなエラーを吐いていることを確認。(コピペでなくて入力なのでタイポあるかも)
dualvar is only available with the XS version of Scalar::Util at /usr/perl5/lib/site_perl/5.8.8/Compress/Zlib.pm line 9
つまりはScalar::Utilのせいで動かないらしいです。
そこでCPANからScalar::UtilをiinstallしようとしてもNOT OKになってしまうので、とりあえず
force install Scalar::Utilde
でしのぐことに。
おそるおそるクローラを起動するとエラーを吐かずに正常に機能するようになりました。
でめたしでめたし。
Perlでtwitterに何かをやらかすにはNet::Twitterというモジュールを利用するといいようです。
早速Net::Twitterを入れてみることにしました。
ちなみに、WindowsVistaはActivePerl 5.8.8です。
ppmでは用意されていないので、CPANからインストールします。
しかし、実際に実行してみると、いろいろ足らないからインストールしますよといわれて、言うとおりにインストールしたのですが、あちこちでNOT OKとなってしまいます。
C:\Users\admin>cpan install Net::Twitter
CPAN: Storable loaded ok
Going to read C:\Perl\cpan\Metadata
Database was generated on Thu, 22 Apr 2010 21:26:57 GMT
install is up to date.
Running install for module Net::Twitter
Running make for M/MM/MMIMS/Net-Twitter-3.12000.tar.gz
CPAN: Digest::MD5 loaded ok
CPAN: Compress::Zlib loaded ok
Checksum for C:\Perl\cpan\sources\authors\id\M\MM\MMIMS\Net-Twitter-3.12000.tar.gz ok
Scanning cache C:\Perl/cpan/build for sizes
Deleting from cache: C:\Perl\cpan\build\ExtUtils-MakeMaker-6.56 (17.6>10.0 MB)
Can't remove directory C:\Perl\cpan\build\ExtUtils-MakeMaker-6.56/t/Big-Dummy (Permission denied) at C:/Perl/lib/CPAN.pm line 9
6
Can't remove directory C:\Perl\cpan\build\ExtUtils-MakeMaker-6.56/t (Directory not empty) at C:/Perl/lib/CPAN.pm line 966
Can't remove directory C:\Perl\cpan\build\ExtUtils-MakeMaker-6.56 (Directory not empty) at C:/Perl/lib/CPAN.pm line 966
Deleting from cache: C:\Perl\cpan\build\Net-Twitter-3.12000 (17.6>10.0 MB)
Deleting from cache: C:\Perl\cpan\build\Sub-Name-0.04 (17.0>10.0 MB)
Deleting from cache: C:\Perl\cpan\build\Sub-Identify-0.04 (16.9>10.0 MB)
Deleting from cache: C:\Perl\cpan\build\Variable-Magic-0.41 (16.7>10.0 MB)
Deleting from cache: C:\Perl\cpan\build\B-Hooks-EndOfScope-0.08 (16.5>10.0 MB)
Deleting from cache: C:\Perl\cpan\build\namespace-clean-0.14 (16.4>10.0 MB)
Deleting from cache: C:\Perl\cpan\build\Scalar-List-Utils-1.23 (16.3>10.0 MB)
Deleting from cache: C:\Perl\cpan\build\Devel-GlobalDestruction-0.02 (16.2>10.0 MB)
Deleting from cache: C:\Perl\cpan\build\Class-MOP-1.00 (16.0>10.0 MB)
Deleting from cache: C:\Perl\cpan\build\Moose-1.01 (15.0>10.0 MB)
Deleting from cache: C:\Perl\cpan\build\Data-Visitor-0.27 (12.5>10.0 MB)
Deleting from cache: C:\Perl\cpan\build\DateTime-0.55 (12.4>10.0 MB)
Deleting from cache: C:\Perl\cpan\build\DateTime-Format-Strptime-1.2000 (11.6>10.0 MB)
Deleting from cache: C:\Perl\cpan\build\MooseX-MultiInitArg-0.01 (11.4>10.0 MB)
Deleting from cache: C:\Perl\cpan\build\namespace-autoclean-0.09 (11.4>10.0 MB)
Deleting from cache: C:\Perl\cpan\build\Digest-SHA1-2.12 (11.3>10.0 MB)
Deleting from cache: C:\Perl\cpan\build\Encode-2.39 (11.2>10.0 MB)
CPAN: Archive::Tar loaded ok
Net-Twitter-3.12000/
Net-Twitter-3.12000/lib/
Net-Twitter-3.12000/lib/Net/
Net-Twitter-3.12000/lib/Net/Identica.pm
Net-Twitter-3.12000/lib/Net/Twitter.pm
Net-Twitter-3.12000/lib/Net/Twitter/
Net-Twitter-3.12000/lib/Net/Twitter/Role/
Net-Twitter-3.12000/lib/Net/Twitter/Role/WrapError.pm
Net-Twitter-3.12000/lib/Net/Twitter/Role/Legacy.pm
Net-Twitter-3.12000/lib/Net/Twitter/Role/API/
Net-Twitter-3.12000/lib/Net/Twitter/Role/API/Search.pm
Net-Twitter-3.12000/lib/Net/Twitter/Role/API/TwitterVision.pm
Net-Twitter-3.12000/lib/Net/Twitter/Role/API/REST.pm
Net-Twitter-3.12000/lib/Net/Twitter/Role/API/Lists.pm
Net-Twitter-3.12000/lib/Net/Twitter/Role/OAuth.pm
Net-Twitter-3.12000/lib/Net/Twitter/Role/RetryOnError.pm
Net-Twitter-3.12000/lib/Net/Twitter/Role/RateLimit.pm
Net-Twitter-3.12000/lib/Net/Twitter/Role/SimulateCursors.pm
Net-Twitter-3.12000/lib/Net/Twitter/Role/InflateObjects.pm
Net-Twitter-3.12000/lib/Net/Twitter/OAuth/
Net-Twitter-3.12000/lib/Net/Twitter/OAuth/XAuthRequest.pm
Net-Twitter-3.12000/lib/Net/Twitter/API.pm
Net-Twitter-3.12000/lib/Net/Twitter/Search.pm
Net-Twitter-3.12000/lib/Net/Twitter/Core.pm
Net-Twitter-3.12000/lib/Net/Twitter/OAuth.pm
Net-Twitter-3.12000/lib/Net/Twitter/Error.pm
Net-Twitter-3.12000/lib/Net/Twitter.pod
Net-Twitter-3.12000/Changes
Net-Twitter-3.12000/MANIFEST
Net-Twitter-3.12000/examples/
Net-Twitter-3.12000/examples/oauth_webapp.pl
Net-Twitter-3.12000/examples/oauth_desktop.pl
Net-Twitter-3.12000/README
Net-Twitter-3.12000/src/
Net-Twitter-3.12000/src/net-twitter-pod.tt2
Net-Twitter-3.12000/src/build.pl
Net-Twitter-3.12000/t/
Net-Twitter-3.12000/t/22_twitter_insanity.t
Net-Twitter-3.12000/t/20_exceptions.t
Net-Twitter-3.12000/t/unicode.t
Net-Twitter-3.12000/t/lib/
Net-Twitter-3.12000/t/lib/TestUA.pm
Net-Twitter-3.12000/t/13_search.t
Net-Twitter-3.12000/t/99-pod_syntax.t
Net-Twitter-3.12000/t/02_fails.t
Net-Twitter-3.12000/t/51_rate_limit.t
Net-Twitter-3.12000/t/40_nt_subclasses.t
Net-Twitter-3.12000/t/11_useragent.t
Net-Twitter-3.12000/t/50_inflate_objects.t
Net-Twitter-3.12000/t/99-pod_coverage.t
Net-Twitter-3.12000/t/21_wraperror.t
Net-Twitter-3.12000/t/10_net-twitter-regression.t
Net-Twitter-3.12000/t/12_identica.t
Net-Twitter-3.12000/t/01_basic.t
Net-Twitter-3.12000/t/60-api_lists.t
Net-Twitter-3.12000/t/retry.t
Net-Twitter-3.12000/t/geo.t
Net-Twitter-3.12000/t/51_since.t
Net-Twitter-3.12000/t/00_load.t
Net-Twitter-3.12000/t/14_authenticate.t
Net-Twitter-3.12000/t/30_legacy.t
Net-Twitter-3.12000/t/20_generated.t
Net-Twitter-3.12000/t/15_subclass.t
Net-Twitter-3.12000/t/99-pod_spelling.t
Net-Twitter-3.12000/t/lookup_users.t
Net-Twitter-3.12000/META.yml
Net-Twitter-3.12000/Makefile.PL
Net-Twitter-3.12000/inc/
Net-Twitter-3.12000/inc/Module/
Net-Twitter-3.12000/inc/Module/Install.pm
Net-Twitter-3.12000/inc/Module/Install/
Net-Twitter-3.12000/inc/Module/Install/WriteAll.pm
Net-Twitter-3.12000/inc/Module/Install/Fetch.pm
Net-Twitter-3.12000/inc/Module/Install/Win32.pm
Net-Twitter-3.12000/inc/Module/Install/Include.pm
Net-Twitter-3.12000/inc/Module/Install/Repository.pm
Net-Twitter-3.12000/inc/Module/Install/AutoInstall.pm
Net-Twitter-3.12000/inc/Module/Install/Base.pm
Net-Twitter-3.12000/inc/Module/Install/Metadata.pm
Net-Twitter-3.12000/inc/Module/Install/Can.pm
Net-Twitter-3.12000/inc/Module/Install/Makefile.pm
Net-Twitter-3.12000/inc/Module/Install/AutoManifest.pm
Net-Twitter-3.12000/inc/Module/AutoInstall.pm
CPAN.pm: Going to build M/MM/MMIMS/Net-Twitter-3.12000.tar.gz
*** Module::AutoInstall version 1.03
*** Checking for Perl dependencies...
[Core Features]
- Test::More ...loaded. (0.94 >= 0.88)
- Carp ...loaded. (1.04)
- Digest::SHA ...loaded. (5.47)
- List::Util ...loaded. (1.18)
- Net::Netrc ...loaded. (2.12)
- Scalar::Util ...loaded. (1.18)
- Data::Visitor::Callback ...missing.
- DateTime ...missing. (would need 0.51)
- DateTime::Format::Strptime ...missing. (would need 1.09)
- Encode ...loaded. (2.12)
- HTML::Entities ...loaded. (1.35)
- HTTP::Request::Common ...loaded. (1.26)
- JSON::Any ...loaded. (1.22 >= 1.21)
- LWP::UserAgent ...loaded. (2.033 >= 2.032)
- Moose ...missing. (would need 0.9)
- Moose::Exporter ...missing.
- Moose::Role ...missing.
- MooseX::MultiInitArg ...missing.
- namespace::autoclean ...missing. (would need 0.09)
- Net::OAuth ...missing. (would need 0.2)
- URI ...loaded. (1.52 >= 1.4)
- URI::Escape ...loaded. (3.29)
- Try::Tiny ...loaded. (0.04)
- JSON ...loaded. (2.17 >= 2.02)
==> Auto-install the 9 mandatory module(s) from CPAN? [y]
とりあえずそのままYを押して足らないものを入れさせてみましたが、ぜんぜんだめでした。
ちなみに、CentOS5のPerl5.8.8でも同じような現象に。CPAN自体をアップデートしてやり直してもだめ。yumから1つ1つ入れてみようと思って、まず を終えても、CPANからはまた入れなおそうとしてしまいます。yum install perl-Moose
Mooseという新しい技術を利用するのもいいのですが、入れること自体がハードルが高いとあまり意味がないですね。別のOSで試すとか、あきらめるしかないのかなぁ。がっかり。
えらいことになった。
とりあえずTerm::ReadKeyを入れればいいらしい
[root@localhost ~]# cpan
Sorry, we have to rerun the configuration dialog for CPAN.pm due to
some missing parameters...
Normally CPAN.pm keeps config variables in memory and changes need to
be saved in a separate 'o conf commit' command to make them permanent
between sessions. If you set the 'auto_commit' option to true, changes
to a config variable are always automatically committed to disk.
どうやらTerm::ReadKeyというものが必要なようなので、いれてみる。
cpan[1]> install Term::ReadKey
CPAN: Storable loaded ok (v2.15)
Going to read '/root/.cpan/Metadata'
Database was generated on Tue, 15 Dec 2009 08:56:54 GMT
Running install for module 'Term::ReadKey'
Running make for J/JS/JSTOWE/TermReadKey-2.30.tar.gz
CPAN: checksum security checks disabled because Digest::SHA not installed.
Please consider installing the Digest::SHA module.
CPAN: Time::HiRes loaded ok (v1.9717)
Scanning cache /root/.cpan/build for sizes
............................................................................DONE
CPAN: Compress::Zlib loaded ok (v1.42)
CPAN: Archive::Tar loaded ok (v1.54)
TermReadKey-2.30/
TermReadKey-2.30/genchars.pl
TermReadKey-2.30/Makefile.PL
TermReadKey-2.30/Configure.pm
TermReadKey-2.30/test.pl
TermReadKey-2.30/ReadKey.pm
TermReadKey-2.30/META.yml
TermReadKey-2.30/ReadKey.xs
TermReadKey-2.30/ppport.h
TermReadKey-2.30/MANIFEST
TermReadKey-2.30/README
CPAN: File::Temp loaded ok (v0.22)
CPAN: YAML loaded ok (v0.70)
CPAN.pm: Going to build J/JS/JSTOWE/TermReadKey-2.30.tar.gz
Checking if your kit is complete...
Looks good
Writing Makefile for Term::ReadKey
cp ReadKey.pm blib/lib/Term/ReadKey.pm
AutoSplitting blib/lib/Term/ReadKey.pm (blib/lib/auto/Term/ReadKey)
/usr/bin/perl -I/usr/lib/perl5/5.8.8 genchars.pl
Writing termio/termios section of cchars.h... Done.
Checking for sgtty...
Sgtty NOT found.
Writing sgtty section of cchars.h... Done.
/usr/bin/perl /usr/lib/perl5/5.8.8/ExtUtils/xsubpp -noprototypes -typemap /usr/lib/perl5/5.8.8/ExtUtils/typemap ReadKey.xs > ReadKey.xsc && mv ReadKey.xsc ReadKey.c
gcc -c -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -DVERSION=\"2.30\" -DXS_VERSION=\"2.30\" -fPIC "-I/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE" ReadKey.c
/bin/sh: gcc: command not found
make: *** [ReadKey.o] エラー 127
JSTOWE/TermReadKey-2.30.tar.gz
/usr/bin/make -- NOT OK
Running make test
Can't test without successful make
Running make install
Make had returned bad status, install seems impossible
Failed during this command:
JSTOWE/TermReadKey-2.30.tar.gz : make NO
makeに失敗しました。
しかたがないのでyumからいれてみることに
[root@localhost ~]# yum install perl-Term-ReadKey
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* addons: rsync.atworks.co.jp
* base: rsync.atworks.co.jp
* extras: rsync.atworks.co.jp
* updates: rsync.atworks.co.jp
Setting up Install Process
No package perl-Term-ReadKey available.
Nothing to do
orz=3
えっと、あとはどうすればいいんだろう?
Windowの場合、CPANではNOT OKがでるけど、ppmで簡単に追加できた。
Linux(CentOS)の場合、cpanではNOT OKが大量に出て、個別にモジュールを入れていっても、開発系のライブラリがほとんど入ってないためか、それぞれがNOT OKになってしまう。
結局yumから1つづつ入れていくことになった。
perl-XML-DOM
perl-DIgest-SHA
libxml2
libxml2-devel
Sys-Syslog
perl-Log-Log4perl
んだけど、ログに関するライブラリが入らない。
よくよく見ればCPANの起動時にBundle::CPANを入れろと書いてあるではないか。そういうことならと入れてみる。
何事もなく無事に終了し、Net::Amazonも難なく入った。
結局何が問題なのかって、Bundle::CPANを入れてなかったことだけが問題だったのかもしれない。
Recent Comments