Compress::Zlibの件

tcoolの中の人ことid:charsbarさんにトラバ飛ばしておいたら、さっそく記事の更新がありました。で、少なくともCompress::Zlibのほうは私が使ってたPerl 5.8.8.816由来のバグだそうです。

  • Reintroduce PL_memory_wrap for binary compatibility.

ということで、charsbarさんのお勧めどおり、build817に移行しておきます。tcoolリポジトリは5.8.7ベースなのでbuild815のほうがいいかとも思うけど、5.8.8でコンパイルしたXSモジュールが結構あるので、5.8.7にするとちょっと不安だし。build818以降のに更新するとppmのバージョンが上がって問題があるし。

非常に困ったことに、ActiveStateのRelease Notesによると既知の問題として、この新しいppm 4.0はpost installスクリプトを使うパッケージをうまくインストールできないというのですね。

あー、いろいろモジュールのバージョンあげてるから、build817入れると逆にバージョンダウンになるモジュールとかいろいろありそう。一度全部のモジュールのバージョンをチェックして書き出しておかないと。それにはやっぱりPerlでごにょごにょするのがいいか。いや、いい機会だし、上書きしないで一度きちんとクリーンインストールしなおそう。どっちにしても今入れてあるモジュールとそのバージョンを全部書き出さないと。まずはそこからはじめよう。charsbarさん、迅速な対応感謝です。

旧バージョンのダウンロード
http://downloads.activestate.com/ActivePerl/Windows/5.8/

追記 [09/09 01:36]

今インストールしてあるモジュールの一覧は自分でごにょごにょしなくてもよかった。ちょっとググってみたらCPANシェルから一覧を書き出せる。

cpan> autobundle

たったこれだけでよかった。@INCディレクトリに入ってるモジュール全部を書き出してくれる。

autobundle

autobundle writes a bundle file into the $CPAN::Config->{cpan_home}/Bundle directory. The file contains a list of all modules that are both available from CPAN and currently installed within @INC. The name of the bundle file is based on the current date and a counter.

CPANシェルからこれを使って自動で全部インストールすることもできるようだけど、自分でコンパイルできなくてppmからインストールしたモジュールも結構あるから、ちょっとそういうふうにはできないね。まあ、今入ってるモジュールがわかるだけでも十分です。

自分でごにょごにょする前に検索してみて本当によかった。こういうのって普通に考えればみんなほしいと思う機能だし、誰も書いてないはずがないもんね。

ちなみに一番最初に出てきたモジュールはAcme::Oppaiです。

追記 [09/08 10:48]

HTML::Parserもこれでひっかかる。