Alligator Swamp

技術メモ

Perl 5.10.0以前だとFile::Spec 3.40以降のインストールに失敗する

Perl 5.8.8で試してみた。

waniji@localhost:~$ plenv versions
  system
  5.18.2
* 5.8.8 (set by /home/waniji/.plenv/version)

waniji@localhost:~$ cpanm -lextlib File::Spec
--> Working on File::Spec
Fetching http://www.cpan.org/authors/id/S/SM/SMUELLER/PathTools-3.47.tar.gz ... OK
Configuring PathTools-3.47 ... OK
Building and testing PathTools-3.47 ... FAIL
! Installing File::Spec failed. See /home/waniji/.cpanm/work/1404224796.5765/build.log for details. Retry with --force to force install it.

原因

File::Spec 3.40以降はTest::More 0.88以上に依存しているが、Makefile.PLにその記述がない。
Perlが5.10.0以前の場合はコアモジュールとして入ってるTest::Moreのバージョンが0.88より古いため、上記のようにテストに失敗してしまう。

回避策

File::Specをインストールする前に、Test::Moreを0.88以上にすれば良い。

waniji@localhost:~$ cpanm -lextlib Test::More
--> Working on Test::More
Fetching http://www.cpan.org/authors/id/E/EX/EXODIST/Test-Simple-1.001003.tar.gz ... OK
Configuring Test-Simple-1.001003 ... OK
Building and testing Test-Simple-1.001003 ... OK
Successfully installed Test-Simple-1.001003 (upgraded from 0.62)
1 distribution installed

waniji@localhost:~$ cpanm -lextlib File::Spec
--> Working on File::Spec
Fetching http://www.cpan.org/authors/id/S/SM/SMUELLER/PathTools-3.47.tar.gz ... OK
Configuring PathTools-3.47 ... OK
Building and testing PathTools-3.47 ... OK
Successfully installed PathTools-3.47 (upgraded from 3.12)
1 distribution installed

その他

この問題は既に報告されていた。

英語に自信が無いけど、多分、「"blead perl"では修正されているけど、安定版としてリリースされてないから、CPANのモジュールにはまだ適応されないよ!」って書いてる...はず。
最近、この修正が適応されたPerl 5.20.0がリリースされたから、CPANのモジュールもそろそろ修正されるんじゃないかなーと予想。