【perlメモ】List::Util object version 1.21 does not match bootstrap parameter 1.25 at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/XSLoader.pm line 94.

FireShot Screen Capture #307 - 'AMA-TOOLBOX - トップページ' - www_ama-toolbox_com

AMA-TOOLBOX – トップページ

AMA-TOOLBOXを使おうと思ったらInternal Server Errorで動かなくなっていたので調べてみた。というかいつから動かなくなっていたのかサーバーのログを見てみると。朝の6時くらいかららしいので被害は少なかったようだ。何でそういう事態になるのかは不明。

サーバーはSaaSesのVPSでOsukiniサーバーというプラン。

SaaSesのVPS Osukiniサーバーを借りてみた。 – KUMA TYPE

[kumacchi@rad-xen-vweb7 www.ama-toolbox.com]$ perl -c top.cgi
List::Util object version 1.21 does not match bootstrap parameter 1.25 at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/XSLoader.pm line 94.
Compilation failed in require at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/Scalar/Util.pm line 11.
Compilation failed in require at /usr/lib/perl5/site_perl/5.8.8/SOAP/Lite.pm line 2503.
BEGIN failed–compilation aborted at /usr/lib/perl5/site_perl/5.8.8/SOAP/Lite.pm line 2503.
Compilation failed in require at top.cgi line 20.
BEGIN failed–compilation aborted at top.cgi line 20.
[kumacchi@rad-xen-vweb7 www.ama-toolbox.com]$

とりあえず、シンタックスをチェックしようと思ってperl -cで調べてみたところ、

List::Util object version 1.21 does not match bootstrap parameter 1.25 at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/XSLoader.pm line 94.

というエラーが出ているようなので、cpanを起動してList::Utilをインストールしてみようとしたが、うまくインストールできないので検索してみる事に。

検索してみると下の記事がヒットした。他にもいくつかヒットしたが、解決してそうなものは無かった。下の記事も要するに、依存関係でエラーが出ているのでperlを再インストールしろという内容のようだった。しょうがないので下の記事の内容の通りmakeまではやってみた。が、元々のperlはrpmでインストールされているしソースからperlを再インストールするのは影響が大きそうでリスキーだったのでmake installする前にもうちょっと自力で何とかできないか調べてみた。

Perl problem – cPanel Forums

エラーの内容からするにList::Utilのバージョンが1.21と1.25で一致しなくてエラーのようなのでList::Utilを検索してみるとcpanでバージョン1.25が見つかったので、これをダウンロードして手動でインストールしてみる事にした。

Paul Evans / Scalar-List-Utils-1.25 – search.cpan.org

# wget http://search.cpan.org/CPAN/authors/id/P/PE/PEVANS/Scalar-List-Utils-1.25.tar.gz
# tar -zxvf Scalar-List-Utils-1.25.tar.gz
# cd Scalar-List-Utils-1.25
# perl Makefile.PL
# make
# make test
# make install

上記の手順でScalar-List-Utils-1.25をインストールした。結果、エラーが出なくなった。めでたしめでたし。

と、解決したところで同じサーバー上にある他のアプリもチェックしてみると私的GyaO触覚弐式などがEncode.pmでエラーになっていた。

Cannot decode string with wide characters at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/Encode.pm line 173.

私的GyaO触角弐式 – 新着

Encode.pmのバージョンをチェックしてみると2.12とあった。

# $Id: Encode.pm,v 2.12 2005/09/08 14:17:17 dankogai Exp dankogai $

cpanで調べてみると最新のバージョンは2.47

Dan Kogai / Encode-2.47 – search.cpan.org

# wget http://search.cpan.org/CPAN/authors/id/D/DA/DANKOGAI/Encode-2.47.tar.gz
# tar -zxvf Encode-2.47.tar.gz
# cd Encode-2.47
# perl Makefile.PL
# make
# make test
# make install

そういうわけで、Encode.pmの最新版を上記の手順でインストールしたところエラーは出なくなった。

タグ : , ,