あるLinux環境でCrypt::SSLeayをインストールしようとするとテストが通らない。
$ cpanm -v Crypt::SSLeay ... t/00-basic.t .... ok t/01-connect.t .. 1/8 # Failed test 'Net::SSL->new' # at t/01-connect.t line 28. # Connect failed: connect: 接続を拒否されました; 接続を拒否されました at t/01-connect.t line 11 # Looks like you failed 1 test of 8. t/01-connect.t .. Dubious, test returned 1 (wstat 256, 0x100) Failed 1/8 subtests (less 7 skipped subtests: 0 okay) t/02-live.t ..... 1/4 # config on linux # ssl OpenSSL 1.0.0-beta3 in /usr; # lib -L -lssl -lcrypto -lgcc # inc -I/usr/include # cc cc t/02-live.t ..... ok Test Summary Report ------------------- t/01-connect.t (Wstat: 256 Tests: 8 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=3, Tests=24, 0 wallclock secs ( 0.05 usr 0.01 sys + 0.22 cusr 0.03 csys = 0.31 CPU) Result: FAIL Failed 1/3 test programs. 1/24 subtests failed. make: *** [test_dynamic] エラー 255 FAIL ! Installing Crypt::SSLeay failed. See /home/sugyan/.cpanm/build.log for details.
どうやらNet::SSL->new
が失敗したときのエラーメッセージが日本語で出てきてしまっているかららしい。テスト内部では英語のエラーメッセージが期待されているためコケてしまうようだ。
ということで
$ LANG=C cpanm -v Crypt::SSLeay
とすればインストールできるようになるらしい。
このエラーメッセージの言語ってどこで決まるんだろう?手元のMac OS X環境ではLANG=ja_JP.UTF-8
でも問題ないのだけど…。