― Web Technology and Life ―

Net::SSL::ExpireDateがubuntu10.04で入らなかったときの悩み

2013-08-25
SSLの期限チェックしてくれる便利なモジュールがNet::SSL::ExpireDateらしいのですが、まさか久々にcpanのインストールにはまったのでその疑問を吐露。。。

Crypt::OpenSSL::X509がはいらないのが問題だった

ちょっと、釣りっぽくNet::SSL::ExpireDateといういけてるモジュール名だしちゃったんですが、実は問題なのはその依存モジュールのCrypt::OpenSSL::X509で、2013/8/25現在、最新版のバージョンは1.803で、これが入らない。

これはさらに、opensslに依存していてデフォルトのubuntu10.04で入っているのが、OpenSSL 0.9.8k 25 Mar 2009というバージョン。まぁ古い。

cpanm Crypt::OpenSSL::X509だとこんな感じのエラーが。。。

X509.xs:238: error: passing argument 1 of ‘ASN1_i2d_bio’ from incompatible pointer type
/usr/include/openssl/asn1.h:989: note: expected ‘int (*)(void *, unsigned char **)’ but argument is of type ‘int (*)(struct ASN1_HEADER *, unsigned char **)’
make: *** [X509.o] エラー 1

とりあえず、現状の結論的には、このCrypt::OpenSSL::X509 1.803とOpenSSL 0.9.8k 25 Mar 2009の相性が悪かったので、Crypt::OpenSSL::X509が入らなかったんですね。

対応方法

cpanm --forceもきかないので、どうしたものかなーと思って以下の3つの方法のいづれかを迫られた。

  • opensslのバージョンをあげる(どうやるんだっけ???)
  • Crypt::OpenSSL::X509にバグレポートおくる(どうやるんだっけ???)
  • Crypt::OpenSSL::X509の古いバージョンを使う

最初の二つはどうやるのかよくわからなかったので(opensslのバージョンはあげたほうがいいけど、他のなんかが動かなくといやだなーと思い・・・)、最後の方法に至りました。。。

もやっと ~やっぱりopensslのバージョンをあげるべき?~

基本的に、opensslのバージョンってむしろ挙げたほうがいいんですかねー、aptパッケージでバージョンアップしたいけど、このパッケージ管理っていまいちよくわかってなくて、苦手・・・。configureとかでいれるとなんかもうグチャグチャになる気がして嫌なんですが。。。なんかで、dpkgとか使って、アップデートしたような気がするけど、いまいち記憶にない・・・。重い腰があがったら、調べたいと思いますが、参考URLとかあれば教えてください・・・

Crypt::OpenSSL::X509はcpanの「View/Report Bugs」今更ですがというリンクを見つけて、gitのissuesに入れようと思ったけど、OpenSSL 0.9.8k 25 Mar 2009って古すぎるから、どうなのかなーと思ってしまったり。。。

こうすべきだ!!とかありましたら、是非教えてくださいー。

Perl update_at : 2013-08-26T11:10:35
hirobanex.netの更新情報の取得
 RSSリーダーで購読する   
blog comments powered by Disqus