RSSフイードからWebAPIを色々イジって遊べるご存知、Plagger。鯖を立ててインストールすることばっかり考えていて、自分が今使っている環境がlinuxだということを忘れていました(^^;; なんで、取り合えずUbuntuにPlaggerをインストールして遊んじゃおうと思ったのです。
ライブラリのインストール
いろんなサイトを参考にしながらインストールしたので無駄なライブラリが入ってるかもしれない……。
# sudo aptitude install screen # sudo aptitude install gcc # sudo aptitude install make # sudo aptitude install unzip # sudo aptitude install libxml2 libxml2-dev # sudo aptitude install expat libexpat-dev # sudo aptitude install libssl-dev libio-socket-ssl-perl libnet-ssleay-perl # sudo aptitude install libcompress-zlib-perl libhtml-parser-perl libmime-perl libtemplate-perl libwww-perl libxml-libxml-perl libxml-libxml-common-perl libxml-parser-perl libyaml-perl libdate-manip-perl libnet-perl libtemplate-perl-doc # sudo aptitude install mingw32 mingw32-binutils mingw32-runtime # sudo aptitude -y install ncftp # sudo aptitude -y install lynx
/etc/perl/CPAN/Config.pm の編集
$CPAN::Config = { 'build_cache' => q[50], 'build_dir' => q[/root/.cpan/build], 'cache_metadata' => q[1], 'cpan_home' => q[/root/.cpan], 'cpan_version_check' => q[1], 'dontload_hash' => { }, 'ftp' => q[/usr/bin/ftp], 'ftp_proxy' => q[], 'getcwd' => q[cwd], 'gpg' => q[/usr/bin/gpg], 'gzip' => q[/bin/gzip], 'histfile' => q[/root/.cpan/histfile], 'histsize' => q[100], 'http_proxy' => q[], 'inactivity_timeout' => q[0], 'index_expire' => q[1], 'inhibit_startup_message' => q[0], 'keep_source_where' => q[/root/.cpan/sources], 'lynx' => q[/usr/bin/lynx], 'make' => q[/usr/bin/make], 'make_arg' => q[], 'make_install_arg' => q[], 'makepl_arg' => q[INSTALLDIRS=site], 'ncftpget' => q[/usr/bin/ncftpget], 'no_proxy' => q[localhost,127.0.0.0/8,*.local], 'pager' => q[/usr/bin/less], 'prerequisites_policy' => q[follow], 'proxy_user' => q[], 'scan_cache' => q[atstart], 'shell' => q[/bin/zsh], 'tar' => q[/bin/tar], 'term_is_latin' => q[1], 'unzip' => q[/usr/bin/unzip], 'urllist' => [q[ftp://ftp.jaist.ac.jp/pub/lang/perl/CPAN/], q[ftp://ftp.kddilabs.jp/CPAN/], q[ftp://ftp.u-aizu.ac.jp/pub/CPAN], q[ftp://ftp.nara.wide.ad.jp/pub/CPAN/]], 'wget' => q[/usr/bin/wget], }; 1; __END__
基本的にはbuild_cacheを50以上。prerequisites_policyをfollowにしておけば問題なさそうです。
Plaggerをinstall
ここでトラブりました。普通にCPANでforce install Plaggerを入力していけるかなと思ったら、下のようなトラブルが発生。
Running test for module 'Plagger' Running make for M/MI/MIYAGAWA/Plagger-0.7.17.tar.gz Has already been unwrapped into directory /root/.cpan/build/Plagger-0.7.17-vtpeKt Has already been made Running make test /usr/bin/perl "-Iinc" Makefile.PL --config= --installdeps=Time::Duration::Parse,0 Since we're running under CPANPLUS, I'll just let it take care of the dependency's installation later. PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'inc', 'blib/lib', 'blib/arch')" t/*.t t/*/*.t t/*/*/*.t t/00_compile....NOK 1/1 # Failed test 'use Plagger;' # at t/00_compile.t line 4. # Tried to use 'Plagger'. # Error: Can't locate XML/Feed/RSS.pm in @INC (@INC contains: /root/.cpan/build/Plagger-0.7.17-vtpeKt/inc /root/.cpan/build/Plagger-0.7.17-vtpeKt/blib/lib /root/.cpan/build/Plagger-0.7.17-vtpeKt/blib/arch /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl . /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at /root/.cpan/build/Plagger-0.7.17-vtpeKt/blib/lib/Plagger/FeedParser.pm line 7. # BEGIN failed--compilation aborted at t/00_compile.t line 4. # Compilation failed in require at /root/.cpan/build/Plagger-0.7.17-vtpeKt/blib/lib/Plagger/UserAgent.pm line 7. # BEGIN failed--compilation aborted at /root/.cpan/build/Plagger-0.7.17-vtpeKt/blib/lib/Plagger/UserAgent.pm line 7. # Compilation failed in require at /root/.cpan/build/Plagger-0.7.17-vtpeKt/blib/lib/Plagger.pm line 28. # BEGIN failed--compilation aborted at /root/.cpan/build/Plagger-0.7.17-vtpeKt/blib/lib/Plagger.pm line 28. # Compilation failed in require at (eval 3) line 2. # BEGIN failed--compilation aborted at (eval 3) line 2. # Looks like you failed 1 test of 1. t/00_compile....dubious Test returned status 1 (wstat 256, 0x100) DIED. FAILED test 1 Failed 1/1 tests, 0.00% okay Failed Test Stat Wstat Total Fail List of Failed- t/00_compile.t 1 256 1 1 1 Failed 1/1 test scripts. 1/1 subtests failed. Files=1, Tests=1, 0 wallclock secs ( 0.34 cusr + 0.03 csys = 0.37 CPU) Failed 1/1 test programs. 1/1 subtests failed. make: *** [test_dynamic] エラー 1 MIYAGAWA/Plagger-0.7.17.tar.gz /usr/bin/make test -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports MIYAGAWA/Plagger-0.7.17.tar.gz Failed during this command: MIYAGAWA/Plagger-0.7.17.tar.gz : make_test NO
他の依存ライブラリが無くてエラーなら分かりますけど、Plaggerでエラーとか意味が分かりません。取り合えずググってみたらありました。 Plaggerを入れた - When it’s ready. どうもXML::Feedのバージョンが0.23でないと動かないらしいです。しかたないのでファイルを落としてインストール。
# wget http://search.cpan.org/CPAN/authors/id/S/SI/SIMONW/XML-Feed-0.23.tar.gz # tar -zxvf XML-Feed-0.23.tar.gz # cd XML-Feed-0.23 # perl Makefile.PL # make install
そしてPlaggerをinstall
# cpan cpan> force install Plagger
これで一応インストール出来ました。とりあえずバラバラな情報の一元化を何とかしたいと思います。
■参考サイト メモ/ubuntu の編集 - nakax memo http://d.hatena.ne.jp/Ubuntu/20080224/1203851363