web-dev-qa-db-ja.com

ListUtil.c:ロード可能なライブラリとPerlバイナリが一致していません(ハンドシェイクキー0xdb00080を取得、0xdb80080が必要)

何らかの理由で、Perlモジュール(cpanmなど)を実行するときはいつでも、次の応答が返されます。

ListUtil.c: loadable library and Perl binaries are mismatched (got         
handshake key 0xdb00080, needed 0xdb80080)

なぜこれが起こっているのか分かりません。追加のスタックトレースはないようで、このエラーに関する多数のバグレポートと質問があったにもかかわらず、解決策を見つけることができませんでした。 Ubuntu 17.04を実行しています。

編集:Ubuntuに同梱されているデフォルトのPerlインストールを実行しています。

15
javathunderman

これは、PerlまたはPerlモジュールが公式パッケージとともに個別にインストールされている場合に発生する可能性があります。環境変数を使用して、別のPerlインストールに切り替えることができます。

これがケースかどうかを確認するには、次のコマンドを実行します。

env | grep Perl

出力にPerl5LIBまたはPerl_LOCAL_LIB_ROOTがあると、問題が発生する可能性があります。環境変数の設定を解除して、~/.bashrcファイルまたは同等のシェルrcファイルから削除してください。

14
Bert Hekman

Bert Hekmanから派生し、7月5日8:22に回答:

env Perl5LIB= Perl_LOCAL_LIB_ROOT= cpan

迅速かつ汚い解決策として私のためにトリックをしました。

2
JensE

OK、再起動でうまくいったことがわかりました。ここに投稿する前に、オフにしてからオンにするべきだったと思います...

0
javathunderman