DBD::mysql に限らず、入っているソフトウェアやモジュール群が少ないのだ。Perl のバージョンも 5.8.4 だし。たぶん有料のリポジトリにいろいろ入っているのかも知れないが、有料リポジトリを使う気はないので、以下のリポジトリを追加して対応するのがよいと思われる。
- contrib
pkg set-authority -O http://pkg.opensolaris.org/contrib contrib
- Sunfreeware
pkg set-authority -O http://pkg.sunfreeware.com:9000 sunfreeware.com
- blastwave
pkg set-authority -O http://blastwave.network.com:10000 blastwave.com
pkg refresh --fullblastwave リポジトリに DBD::mysql が含まれていることを確認したが、これは、OpenSolaris 標準の Perl 用ではなく、blastwave リポジトリで用意されている Perl 用のモジュールとなるので注意。
OpenSolaris 標準の Perl 用の DBD::mysql パッケージを何とかインストールしようと試みたが、少なくとも自分にはどう頑張っても無理だった...orz
で、仕方なく CPAN で入れることにした。...が、これが悪夢の始まりだった。
CPAN の初期化の際に、デフォルトで設定されている ftp のリポジトリに繋ぎに行くのだが、そこでタイムアウトとなってしまった。
メッセージは「LWP not available」とのこと。LWP 入ってないんかい...orz
LWP(libwww-perl)を OpenSolaris 標準のリポジトリからインストールしようとパッケージマネージャーから探してみたが、なんとこれもない...もういい、こんなリポジトリ使ってやらない。
半分自棄で CPAN サイトからサーバーに libwww-perl の tarball をダウンロードしてインストール。
$ tar zxvf libwww-perl-5.824.tar.gz $ cd libwww-perl-5.824 $ perl Makefile.PL $ make $ make testすると、依存関係でエラーが発生。
$ make test
/usr/bin/perl t/TEST 0
base/common-req...........ok
base/cookies..............ok
base/date.................ok
base/headers-auth.........ok
base/headers-etag.........ok
base/headers-util.........ok
base/headers..............ok
base/http-config..........ok
base/http.................ok
base/listing..............ok
base/mediatypes...........ok
base/message-old..........ok 9/20Can't locate HTML/Entities.pm in @INC (@INC contains: ../blib/lib ../blib/arch /usr/perl5/5.8.4/lib/i86pc-solaris-64int /usr/perl5/5.8.4/lib/i86pc-solaris-64int /usr/perl5/5.8.4/lib /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl ../. /usr/perl5/5.8.4/lib/i86pc-solaris-64int /usr/perl5/5.8.4/lib /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl .) at ../blib/lib/HTTP/Response.pm line 209.
base/message-old..........dubious
Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 10-20
Failed 11/20 tests, 45.00% okay
base/message-parts........ok
base/message..............ok 87/118# Test 89 got: <undef$gt; (base/message.t at line 364)
Wide character in print at /usr/perl5/5.8.4/lib/Test.pm line 416.
# Expected: 'Hi there ?
'
# base/message.t line 364 is: skip($NO_ENCODE, sub { eval { $m->decoded_content } }, "\x{FEFF}Hi there \x{263A}\n");
base/message..............NOK 92# Failed test 92 in base/message.t at line 369
# base/message.t line 369 is: ok($m2->decode);
base/message..............NOK 93# Test 93 got: 'gzip, base64' (base/message.t at line 370)
# Expected: <undef>
# base/message.t line 370 is: ok($m2->header("Content-Encoding"), undef);
base/message..............NOK 94# Test 94 got: 'H4sICFWAq0ECA3h4eAB7v3u/R6ZCSUZqUarCoxm7uAAZKHXiEAAAAA==
' (base/message.t at line 371)
# Expected: qr{(?-xism:Hi there)}
# base/message.t line 371 is: ok($m2->content, qr/Hi there/);
base/message..............NOK 95# Failed test 95 in base/message.t at line 373
# base/message.t line 373 is: ok(grep { $_ eq "gzip" } $m->decodable);
base/message..............NOK 96# Test 96 got: <undef> (base/message.t at line 379)
Wide character in print at /usr/perl5/5.8.4/lib/Test.pm line 416.
# Expected: 'Hi there ?
'
# base/message.t line 379 is: skip($NO_ENCODE, sub { eval { $m->decoded_content } }, "\x{FEFF}Hi there \x{263A}\n");
base/message..............ok 109/118Can't locate Compress/Zlib.pm in @INC (@INC contains: ../blib/lib ../blib/arch /usr/perl5/5.8.4/lib/i86pc-solaris-64int /usr/perl5/5.8.4/lib/i86pc-solaris-64int /usr/perl5/5.8.4/lib /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl ../. /usr/perl5/5.8.4/lib/i86pc-solaris-64int /usr/perl5/5.8.4/lib /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl .) at ../blib/lib/HTTP/Message.pm line 376.
base/message..............dubious
Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 89, 92-96, 110-118
Failed 15/118 tests, 87.29% okay
base/negotiate............ok
base/protocols............ok
base/request..............# Failed test 3 in base/request.t at line 16
# base/request.t line 16 is: ok($req->header("Accept-Encoding") =~ /\bgzip\b/); # assuming Compress::Zlib is there
base/request..............FAILED test 3
Failed 1/11 tests, 90.91% okay
base/response.............ok
base/status-old...........ok
base/status...............ok
base/ua...................ok
html/form-maxlength.......Can't locate HTML/TokeParser.pm in @INC (@INC contains: . ../blib/lib ../blib/arch /usr/perl5/5.8.4/lib/i86pc-solaris-64int /usr/perl5/5.8.4/lib /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl ../.) at ../blib/lib/HTML/Form.pm line 119, <data> line 1.
# Looks like your test died before it could output anything.
html/form-maxlength.......dubious
Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 1-12
Failed 12/12 tests, 0.00% okay
html/form-multi-select....Can't locate HTML/TokeParser.pm in @INC (@INC contains: ../blib/lib ../blib/arch /usr/perl5/5.8.4/lib/i86pc-solaris-64int /usr/perl5/5.8.4/lib/i86pc-solaris-64int /usr/perl5/5.8.4/lib /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl ../. /usr/perl5/5.8.4/lib/i86pc-solaris-64int /usr/perl5/5.8.4/lib /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl .) at ../blib/lib/HTML/Form.pm line 119.
# Looks like your test died before it could output anything.
html/form-multi-select....dubious
Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 1-2
Failed 2/2 tests, 0.00% okay
html/form-param...........Can't locate HTML/TokeParser.pm in @INC (@INC contains: ../blib/lib ../blib/arch /usr/perl5/5.8.4/lib/i86pc-solaris-64int /usr/perl5/5.8.4/lib/i86pc-solaris-64int /usr/perl5/5.8.4/lib /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl ../. /usr/perl5/5.8.4/lib/i86pc-solaris-64int /usr/perl5/5.8.4/lib /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl .) at ../blib/lib/HTML/Form.pm line 119.
html/form-param...........dubious
Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 1-22
Failed 22/22 tests, 0.00% okay
html/form.................Can't locate HTML/TokeParser.pm in @INC (@INC contains: ../blib/lib ../blib/arch /usr/perl5/5.8.4/lib/i86pc-solaris-64int /usr/perl5/5.8.4/lib/i86pc-solaris-64int /usr/perl5/5.8.4/lib /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl ../. /usr/perl5/5.8.4/lib/i86pc-solaris-64int /usr/perl5/5.8.4/lib /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl .) at ../blib/lib/HTML/Form.pm line 119.
html/form.................dubious
Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 1-126
Failed 126/126 tests, 0.00% okay
robot/rules-dbm...........ok
robot/rules...............ok
robot/ua-get..............FAILED test 5
Failed 1/8 tests, 87.50% okay
robot/ua..................FAILED test 5
Failed 1/7 tests, 85.71% okay
local/autoload-get........Can't locate HTML/Entities.pm in @INC (@INC contains: ../blib/lib ../blib/arch /usr/perl5/5.8.4/lib/i86pc-solaris-64int /usr/perl5/5.8.4/lib/i86pc-solaris-64int /usr/perl5/5.8.4/lib /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl ../. /usr/perl5/5.8.4/lib/i86pc-solaris-64int /usr/perl5/5.8.4/lib /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl .) at ../blib/lib/HTTP/Response.pm line 209.
local/autoload-get........dubious
Test returned status 2 (wstat 512, 0x200)
DIED. FAILED test 1
Failed 1/1 tests, 0.00% okay
local/autoload............Can't locate HTML/Entities.pm in @INC (@INC contains: ../blib/lib ../blib/arch /usr/perl5/5.8.4/lib/i86pc-solaris-64int /usr/perl5/5.8.4/lib/i86pc-solaris-64int /usr/perl5/5.8.4/lib /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl ../. /usr/perl5/5.8.4/lib/i86pc-solaris-64int /usr/perl5/5.8.4/lib /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl .) at ../blib/lib/HTTP/Response.pm line 209.
local/autoload............dubious
Test returned status 2 (wstat 512, 0x200)
DIED. FAILED test 1
Failed 1/1 tests, 0.00% okay
local/chunked.............ok
local/get.................ok
local/http-get............ok 4/21Use of uninitialized value in string eq at local/http-get.t line 167, <daemon> line 1.
local/http-get............FAILED tests 5-6, 21
Failed 3/21 tests, 85.71% okay
local/http................ok 4/18Use of uninitialized value in string eq at local/http.t line 158, <daemon> line 1.
local/http................FAILED tests 5, 18
Failed 2/18 tests, 88.89% okay
local/protosub............ok
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
base/message-old.t 2 512 20 22 110.00% 10-20
base/message.t 2 512 118 24 20.34% 89 92-96 110-118
base/request.t 11 1 9.09% 3
html/form-maxlength.t 2 512 12 24 200.00% 1-12
html/form-multi-select.t 2 512 2 4 200.00% 1-2
html/form-param.t 2 512 22 44 200.00% 1-22
html/form.t 2 512 126 252 200.00% 1-126
local/autoload-get.t 2 512 1 1 100.00% 1
local/autoload.t 2 512 1 1 100.00% 1
local/http-get.t 21 3 14.29% 5-6 21
local/http.t 18 2 11.11% 5 18
robot/ua-get.t 8 1 12.50% 5
robot/ua.t 7 1 14.29% 5
Failed 13/36 test scripts, 63.89% okay. 198/1064 subtests failed, 81.39% okay.
make: *** [test] Error 29
調べると、以下のモジュールが依存している模様。
- URI
- HTML::Tagset
- HTML::Entities
- HTML::TokeParser
- Compress::Zlib
$ make cp lib/HTML/PullParser.pm blib/lib/HTML/PullParser.pm cp Parser.pm blib/lib/HTML/Parser.pm cp lib/HTML/Entities.pm blib/lib/HTML/Entities.pm cp lib/HTML/LinkExtor.pm blib/lib/HTML/LinkExtor.pm cp lib/HTML/TokeParser.pm blib/lib/HTML/TokeParser.pm cp lib/HTML/Filter.pm blib/lib/HTML/Filter.pm cp lib/HTML/HeadParser.pm blib/lib/HTML/HeadParser.pm /usr/bin/perl /usr/perl5/5.8.4/lib/ExtUtils/xsubpp -typemap /usr/perl5/5.8.4/lib/ExtUtils/typemap -typemap typemap Parser.xs > Parser.xsc && mv Parser.xsc Parser.c /usr/bin/perl mkhctype >hctype.h /usr/bin/perl mkpfunc >pfunc.h cc -c -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TS_ERRNO -xO3 -xspace -xildoff -DVERSION=\"3.59\" -DXS_VERSION=\"3.59\" -KPIC "-I/usr/perl5/5.8.4/lib/i86pc-solaris-64int/CORE" -DMARKED_SECTION Parser.c cc: unrecognized option `-KPIC' cc: language ildoff not recognized cc: Parser.c: linker input file unused because linking not done Running Mkbootstrap for HTML::Parser () chmod 644 Parser.bs rm -f blib/arch/auto/HTML/Parser/Parser.so LD_RUN_PATH="" cc -G Parser.o -o blib/arch/auto/HTML/Parser/Parser.so cc: Parser.o: No such file or directory cc: no input files make: *** [blib/arch/auto/HTML/Parser/Parser.so] Error 1調べまくった結果、コンパイラを gcc に変更した上で、作成される Makefile を修正すれば通ることが判明。
以下が Makefile の作成。
$ perl Makefile.PL CC=gccで、Makefile を修正。
$ vi Makefile
| 修正前 | 修正後 |
|---|---|
| CCCDLFLAGS = -KPIC | CCCDLFLAGS = |
| OPTIMIZE = -xO3 -xspace -xildoff | OPTIMIZE = |
$ make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/api_version........ok
t/argspec-bad........ok
t/argspec............ok
t/argspec2...........ok
t/attr-encoded.......ok
t/callback...........ok
t/case-sensitive.....ok
t/cases..............ok
t/comment............ok
t/crashme............ok
t/declaration........ok
t/default............ok
t/document...........ok
t/dtext..............ok
t/entities...........ok
t/entities2..........ok
t/filter-methods.....ok
t/filter.............ok
t/handler-eof........ok
t/handler............ok
t/headparser-http....ok
1/1 skipped: Can't locate HTTP/Headers.pm in @INC (@INC contains: /export/home/user/HTML-Parser-3.59/blib/lib /export/home/user/HTML-Parser-3.59/blib/arch /usr/perl5/5.8.4/lib/i86pc-solaris-64int /usr/perl5/5.8.4/lib/i86pc-solaris-64int /usr/perl5/5.8.4/lib /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl . /usr/perl5/5.8.4/lib/i86pc-solaris-64int /usr/perl5/5.8.4/lib /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl .) at /export/home/user/HTML-Parser-3.59/blib/lib/HTML/HeadParser.pm line 99.
t/headparser.........ok
t/ignore.............ok
t/largetags..........ok
t/linkextor-base.....ok
t/linkextor-rel......ok
t/magic..............ok
t/marked-sect........ok
t/msie-compat........ok
t/offset.............ok
t/options............ok
t/parsefile..........ok
t/parser.............ok
t/plaintext..........ok
t/pod................skipped
all skipped: Test::Pod 1.00 required for testing POD
t/process............ok
t/pullparser.........ok
t/script.............ok
t/skipped-text.......ok
t/stack-realloc......ok
t/textarea...........ok
t/threads............skipped
all skipped: Not configured for threads
t/tokeparser.........ok
t/uentities..........ok
t/unbroken-text......ok
t/unicode-bom........ok
t/unicode............ok
t/xml-mode...........ok
All tests successful, 2 tests and 1 subtest skipped.
Files=48, Tests=436, 5 wallclock secs ( 2.70 cusr + 0.96 csys = 3.66 CPU)
HTTP::Headers がないとのメッセージ。うーん。調べてみると、HTTP::Headers は libwww-perl に入っている... 無理じゃん!ということで、libwww-perl を入れるために頑張っている今の段階では、実質 HTTP::Headers はインストールできない。まぁスキップしてくれているのでそのまま進めて問題ないと都合よく解釈することにした。
で、やっと最後は Compress::Zlib。しかし、何となーく嫌な予感がして依存関係を調べると...やっぱりあったよ orz
- Scalar::Util
- Compress::Raw::Zlib
- IO::Uncompress::Base
- IO::Uncompress::Gunzip
まずは Compress::Raw::Zlib から。 HTML-Parser-3.59.tar.gz 同様、コンパイルエラー。同じ対処方法で、gcc でコンパイルして作った Makefile を修正して make、make test、make install。 次は IO::Uncompress::Base。 make test で以下の抜粋のように Test::Pod がないと表示されるが、スキップしてくれているので無視。
t/99pod.........skipped
all skipped: Test::Pod 1.00 required for testing POD
IO::Uncompress::Gunzip。
これは make test でのスキップが若干多かった。少し不安だったが時間もないので無視。
t/006zip........................ok
32/77 skipped: IO::Compress::Bzip2 not available
t/020isize......................skipped
all skipped: Lengthy Tests Disabled
t/105oneshot-zip-bzip2-only.....skipped
all skipped: IO::Compress::Bzip2 not available
t/109merge-zip..................skipped
all skipped: not implemented yet
で、やっと Compress::Zlib。
また make test で Test::Pod がないことによるスキップ。無視無視。
t/99pod.........skipped
all skipped: Test::Pod 1.00 required for testing POD
すべての依存関係が解決し、ついに libwww-perl をコンパイル&インストール。make test でスキップが出るが無視。もう何も感じない。
base/message..............ok
6/118 skipped: Need Compress::Bzip2
終わった... やっと終わった。これで CPAN が使える。万感の思いを込めて DBD::mysql をインストール。
$ perl -MCPAN -e shell
cpan> install DBD::mysql
CPAN: Storable loaded ok
Going to read /export/home/user/.cpan/sources/authors/01mailrc.txt.gz
CPAN: Compress::Zlib loaded ok
Going to read /export/home/user/.cpan/sources/modules/02packages.details.txt.gz
Database was generated on Sat, 07 Feb 2009 22:26:52 GMT
CPAN: HTTP::Date loaded ok
There's a new CPAN.pm version (v1.9301) available!
[Current version is v1.7601]
You might want to try
install Bundle::CPAN
reload cpan
without quitting the current session. It should be a seamless upgrade
while we are running...
Going to read /export/home/user/.cpan/sources/modules/03modlist.data.gz
Can't find string terminator "'" anywhere before EOF at (eval 19) line 20873, <fh> line 18711.
CPAN::Index::rd_modlist('CPAN::Index', '/export/home/user/.cpan/sources/modules/03modlist.data.gz') called at /usr/perl5/5.8.4/lib/CPAN.pm line 3129
CPAN::Index::reload('CPAN::Index') called at /usr/perl5/5.8.4/lib/CPAN.pm line 675
CPAN::exists('CPAN=HASH(0x85b2ce4)', 'CPAN::Module', 'DBD::mysql') called at /usr/perl5/5.8.4/lib/CPAN.pm line 1842
CPAN::Shell::expandany('CPAN::Shell', 'DBD::mysql') called at /usr/perl5/5.8.4/lib/CPAN.pm line 2078
CPAN::Shell::rematein('CPAN::Shell', 'install', 'DBD::mysql') called at /usr/perl5/5.8.4/lib/CPAN.pm line 2165
CPAN::Shell::install('CPAN::Shell', 'DBD::mysql') called at /usr/perl5/5.8.4/lib/CPAN.pm line 201
eval {...} called at /usr/perl5/5.8.4/lib/CPAN.pm line 201
CPAN::shell() called at -e line 1
ありゃ、エラーだ...なんか面倒になってきた。エラーと一緒に新しいバージョンの CPAN が利用可能とのことなので、息抜きのつもりで CPAN をアップグレード。
cpan> install Bundle::CPANなんだかすごい量のモジュールが入ってきてる...30分ぐらい経過してようやく終わったかと思ったら、なんか UNINST=1(CPAN 初期化時に任意で設定する項目。インストール済みのモジュールがあった場合に上書きを許可する。)したいなら root で実行しろって感じのメッセージが出てた...やってやろうじゃないの。
で、流れるようなログを見ていると、なんかうまくいってるっぽい。
最後に、CPAN の設定をするか聞かれるので、自分は no を選択。これはお好みで。
Do you want to modify/update your configuration (y|n) ? [no]アップグレード終了後、念のため、再度 DBD::mysql のインストールに挑戦。
...できた。できちゃったよ、はは。 調子に乗って、mt-check.cgi で未インストールのモジュールを入れちゃった。
しかし、DBD::SQLite と DBD::SQLite2 は make test で エラーが出てインストールできず。(Mail::Sendmail もインストール時のテストメールの送信でコケたけど、大した問題じゃないので無視。)
t/07busy................ Failed 4/8 subtests t/08create_function..... Failed 13/18 subtests make: Fatal error: Command failed for target `test_dynamic'test_dynamic に関するエラーについてもかなり調べたのだが、どうにも対処方法が見つからず、残念だが断念。
だが、これで MySQL での Movable Type のインストールには成功。...疲れた。
結論。最初に言った通り、OpenSolaris 標準の Perl は使わない方がいい。blastwave リポジトリの Perl とそのモジュールを使った方がたぶん何倍も楽。
参考にしたサイト
コメント