メールのヘッダ情報を扱うのに便利な Perl の Mail::Parser モジュールをインストールする。MIME::Base64 のバージョンが古かったため,これを上書きインストールする必要があった。
■ ■ ■
今回は古いメールをバックアップするクライアントの開発の第一歩(nlog(n): 古いメールをバックアップして削除したい)。Mail::MboxParser::Mail モジュールを使いたいので,これを含むモジュールパッケージ Mail::MboxParser のインストールを試みた。しかし,テストに失敗してしまい,インストールが完了しない。Mail::MboxParser には MIME::Tools モジュールが必要である。不足しているモジュールは自動的にインストールされるのだが,このインストールに失敗しているらしい。そこで,MIME::Tools だけを先にインストールすることにした。MIME::Tools に必要で,不足しているモジュールである Mail::Header, Mail::Internet, IO::Stringy, Mail::Field は問題なくインストールが完了するが,途中の make test で失敗してしまう。
# cpan
cpan> install 'MIME::Tools'
...
Running make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/Body...........ok
t/Decoder........ok
t/Entity.........ok
t/Gauntlet.......ok
t/Head...........ok
t/Misc...........FAILED tests 4-5, 7-11
Failed 7/14 tests, 50.00% okay
t/Parser.........ok
t/Ref............ok
t/WordDecoder....ok
t/Words..........ok
Failed Test Stat Wstat Total Fail Failed List of Failed
t/Misc のテストで失敗している。このテストに至るまでのメッセージをよく見てみると,次の箇所が目にとまった。
CPAN.pm: Going to build D/DS/DSKOLL/MIME-tools-5.418.tar.gz
Checking for module File::Path (version 1)... ok.
Checking for module File::Spec (version 0.6)... ok.
Checking for module IO::Stringy (version 1.211)... ok.
Checking for module MIME::Base64 (version 3.03)... not found.
--- Fallback: Checking for module MIME::Base64 (version 2.20)... ok.
*** Warning: We can work with version 2.20 of MIME::Base64, but
*** we recommend that you upgrade to version 3.03.
*** Note that if you type 'make test', then tests
*** 4, 5 and 7-11 of t/Misc.t may fail because of the old version
*** of MIME::Base64
Checking for module Mail::Field (version 1.05)... ok.
Checking for module Mail::Header (version 1.01)... ok.
Checking for module Mail::Internet (version 1.0203)... ok.
Checking if your kit is complete...
Looks good
「MIME::Base64 は 2.20 でも動作するが,3.03 をお勧めする」と出ている。さらに続けて「古いバージョンだと t/Misc のテストに失敗する」とあるではないか。まさにこれが原因である。ちゃんと書いてあった。そこで,MIME::Base64 を上書きインストールし,その後 MIME::Tools と,当初の目的の Mail::MboxParser のインストールを行なった。
cpan> install 'MIME::Base64'
cpan> install 'MIME::Tools'
cpan> install 'Mail::MboxParser'
Posted by n at 2005-10-26 23:40 | Edit | Comments (0) | Trackback(0)