Friday, April 11, 2008

Catalystのインストール(その2)

昨日のつづき。

まず、何が起こってるのか把握できていなかったので、何が起こっているかの把握から始めよう。

因みにココにあるように、次のように yes ''とCPANによるインストールをパイプでつなぐことでCPANモジュールのインストール時の質問に対する答えをデフォルトにすることができる。

# yes '' | perl -MCPAN -e 'install MODULE_NAME'


で、問題のCatalystをインストール!!!

# yes '' | perl -MCPAN -e 'install Task::Catalyst' >& log.txt
# less log.txt


エラーっぽいところを探す。

/bin/sh: gcc: command not found


(;゜Д゜) gccがないって・・・。
は、はずかしい・・・。で、早速、インストール。

# yum install gcc



ログを見ると、Catalystが依存しているCPANモジュールが足りていないように見える。足りないモジュールは、Catalystのインストール時にインストールしてるっぽいが、毎回インストールするのもバカバカしいのでインストールしておく。

---- Unsatisfied dependencies detected during [S/SM/SMUELLER/PAR-0.977.tar.gz] -----
Compress::Zlib
Archive::Zip
---- Unsatisfied dependencies detected during [P/PM/PMQS/Compress-Zlib-2.008.tar.gz] -----
IO::Uncompress::Gunzip
IO::Compress::Gzip
Compress::Raw::Zlib
IO::Compress::Gzip::Constants


# yes '' | prel -MCPAN -e 'install Compress::Zlib'


あれ?なぜかインストールに失敗する。ググッたら、こんなのが出てきた。

なんかshellを起動する必要があるらしい。shellを起動してインストールしてみる。

# perl -MCPAN -e shell
cpan> install Compress::Zlib


今度は出来た。どういうときにshellを起動して、どういうときにshellを起動しないでもインストールできるかは、よく分からなかった。

さっきのページに"The first thing you should do is upgrade your CPAN: (最初にCPANをアップグレードする必要がある)"って書いてあったから、この機会にアップグレードしておこう。

cpan> install Bundle::CPAN
Do you want to modify/update your configuration (y|n) ? [no] y
Do you want me to perform hostname lookups (y|n) ? [yes] n

Enter a list of available NNTP hosts : []
Enter a list of available SMTP hosts : []
Enter a list of available POP3 hosts : []
Enter a list of available SNPP hosts : []
Enter a list of available PH Hosts : []
Enter a list of available TIME Hosts : []
Enter a list of available DAYTIME Hosts : []

(y|n) ? [no]
Should all FTP connections be passive (y|n) ? [yes]
What is your local internet domain name : []
Do you want me to run these tests (y|n) ? [yes]
What host can I use : []

Enter arithmetic or Perl expression: exit


なんか、コレって自分のサーバをCPANモジュールを配布するように設定してるんじゃないか??

cpan> reload cpan
..............................................................................Missing right curly or square bracket at (eval 291) line 3441, at end of line
syntax error at (eval 291) line 3441, at EOF

78 subroutines redefined


なんか、失敗したっぽい。やばい。全然分かんない。

まぁ、いいや。引き続きCatalystが依存しているモジュールのインストールを進めよう。

# perl -MCPAN -e shell
cpan> install Archive::Zip
Archive::Zip is up to date.
cpan> install IO::Uncompress::Gunzip
IO::Uncompress::Gunzip is up to date.
cpan> install IO::Compress::Gzip
IO::Compress::Gzip is up to date.
cpan> install Compress::Raw::Zlib
Compress::Raw::Zlib is up to date.
cpan> install IO::Compress::Gzip::Constants
IO::Compress::Gzip::Constants is up to date.


あれ?全部最新だ。さっきCompress::ZlibをインストールしたときにArchive::Zip, IO::Uncompress::Gunzip, IO::Compress::Gzip, Compress::Raw::Zlib, IO::Compress::Gzip::Constantsもインストールされたのかな?

それから、CPANモジュールをアップグレードしたら、shellのcpanの横に[]で数字が付くようになった。おおっ!!

もう一回、Catalystのインストールコマンドを発行。

# yes '' | perl -MCPAN -e 'install Task::Catalyst' >& log.txt
# less log.txt


足りないモジュールをインストールしようとしたが、エラーが出てインストールできない。でも、...missingになってるモジュールをインストールしないことには、Catalystのインストールは出来なそうだ。

cpan> install HTTP::Request::AsCGI
cpan> install Catalyst::Plugin::HTML::Widget
cpan> install Catalyst::Plugin::StackTrace

cpan> install Catalyst::Plugin::Session::Store::File
cpan> install Catalyst::Plugin::Session::State::URI
cpan> install Catalyst::Plugin::Authentication
cpan> install Catalyst::Plugin::Authentication::Store::DBIC
cpan> install Catalyst::Plugin::Authentication::Store::Htpasswd
cpan> install Catalyst::Plugin::I18N
cpan> install Catalyst::View::TT


...missingなモジュールを順を追って何とかインストールしたけど、次の2つのモジュールだけは、どうしてもインストールできない。

Catalyst::Controller::FormBuilder
Test::WWW::Mechanize::Catalyst


Catalyst::Controller::FormBuilderは、
t/01-basic...........Can't locate Test/WWW/Mechanize/Catalyst.pm

と言い、Test::WWW::Mechanize::Catalystは、
cpan[41]> install Test::WWW::Mechanize::Catalyst
Running install for module 'Test::WWW::Mechanize::Catalyst'
Running make for L/LB/LBROCARD/Test-WWW-Mechanize-Catalyst-0.41.tar.gz
Has already been unwrapped into directory /root/.cpan/build/Test-WWW-Mechanize-Catalyst-0.41-tuVChx
Has already been made
Running make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/auth-test...............[debug] Debug messages enabled
[debug] Statistics enabled
[debug] Loaded dispatcher "Catalyst::Dispatcher"
[debug] Loaded engine "Catalyst::Engine::CGI"
[debug] Couldn't find home
[debug] Loaded Private actions:

と言っていたので、Test::WWW::Mechanize::Catalystを先にインストールする必要があるなと思った。

"[debug] Couldn't find home"でググるとこんなページが出て来た。

とりあえず、ページに書いてあるPerl module toolchain versionを最新のものにした。

cpan> install ExtUtils::Command
cpan> install ExtUtils::Install
cpan> install ExtUtils::ParseXS
cpan> install Module::Signature


それでも、ダメ・・・。また明日続きをやろう。


【参考】

No comments:

Post a Comment