Crypt::SSLeayのインストールで一瞬躓いた
LWP::UAはCrypt::SSLeayがないとHTTPS通信ができないよねー、って事で入れた。
t/00-basic......# Failed test (t/00-basic.t at line 6) # Tried to use 'Crypt::SSLeay'. # Error: Can't load '/root/.cpan/build/Crypt-SSLeay-0.55/blib/arch/auto/Crypt/SSLeay/SSLeay.so' for module Crypt::SSLeay: /root/.cpan/build/Crypt-SSLeay-0.55/blib/arch/auto/Crypt/SSLeay/SSLeay.so: undefined symbol: OPENSSL_add_all_algorithms_noconf at /usr/lib/perl5/5.8.0/i386-linux-thread-multi/DynaLoader.pm line 229. # at (eval 1) line 2 # Compilation failed in require at (eval 1) line 2. # Failed test (t/00-basic.t at line 10) # Tried to use 'Crypt::SSLeay::MainContext'. # Error: Can't locate object method "new" via package "Crypt::SSLeay::CTX" at /root/.cpan/build/Crypt-SSLeay-0.55/blib/lib/Crypt/SSLeay/MainContext.pm line 15. # Compilation failed in require at (eval 5) line 2.
普通にCPANから入れようとしたら、上記エラーが。
理由は単純でconfigure時に
Skipping testcover target, ExtUtils::MakeMaker::Coverage not found Found multiple possibilities for OpenSSL /usr/local/ssl (OpenSSL 0.9.6) /usr (OpenSSL 0.9.7) Which SSL install path do you want to use? [/usr/local/ssl]
って書いてある通りで、なにも考えずEnterを押してしまったので、Makeに使われるライブラリが古く、実行時には/usr以下の新しい物が使われていたから。
普通に/usrを指定して解決…。
と行かず、
t/01-connect....# Failed test (t/01-connect.t at line 22) # Connect failed: connect: 接続を拒否されました; 接続を拒否されました at t/01-connect.t line 8 # Looks like you failed 1 tests of 8.
とか言われた。
まあどうせテストで存在しないサーバーでも叩いているのだろうという事で無視してmake installして終了。
- -
なんで/usr/local/ssl以下に古いのがあるんだ?というのにはまあ事情があるけど割愛