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