MTOS 5.01 の mt-check.cgi でチェックすると、インストールされているはずの Crypt::DSA がインストールされていないとなってしまう

MTOS 5.01 のインストール時に、
mt-check.cgi へアクセスすると、
オプションモジュールの1つである Crypt::DSA について、

サーバーに Crypt::DSAか、Crypt::DSAの動作に必要な他のモジュールがインストールされていません。

と表示され、インストールされていないことになってしまう。

コマンドラインで確認すると、

$ perl -MCrypt::DSA -e 'print Crypt::DSA->VERSION, "\n"'
1.16

とのように、インストールされている。

おかしいな〜ということで、
mt-check.cgi の中を見ると、23行目で、ライブラリパスに mt ディレクトリの extlib を追加しており、
これが優先的に参照されるようになっている

unshift @INC, File::Spec->catdir($dir, 'extlib');

Crypt::DSA は、Math::BigInt に依存しており、
cpan でインストールした Math::BigInt 1.89 ではなく、
mt の extlib ディレクトリにある古いバージョンの Math::BigInt 1.63 の方をロードしてしまっていたため、
NG となってしまう。


2006年5月8日リリースの Crypt::DSA 0.14 が依存している
Math::BigInt のバージョンは1.60であり、
MTOS の extlib に含まれている Math::BigInt 1.63でも問題ない。


一方、2009年9月11日にリリースされた Crypt::DSA 1.16 では、
Math::BigInt 1.78 以上に依存している。

Crypt::DSA 1.16を CPAN でインストールしていた場合、
これにひっかかってしまい、mt-check.cgi で「インストールされていない」ことになってしまう。

これを回避するには、extlib の Math::BigInt モジュールを取り除いてやればよい。

MTOS パッケージの extlib に新しいバージョンの Math::BigInt が入っていればいいんだけれど、そうすると何か別の問題が起こってしまったりするのかなぁ。