ListUtil.c:可加载库和perl二进制文件不匹配(获取握手键0xdb00080,需要0xdb80080)

时间:2017-07-09 20:12:19

标签: perl ubuntu perl-module cpanm

出于某种原因,每当我运行任何Perl模块(如cpanm)时,我都得到了这样的响应:

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

我不确定为什么会这样。似乎没有任何额外的堆栈跟踪,即使有很多关于此错误的错误报告和问题,我也无法找到解决方案。我正在运行Ubuntu 17.04。

编辑:我正在运行Ubuntu附带的默认Perl安装。

3 个答案:

答案 0 :(得分:11)

当在正式软件包旁边单独安装perl或perl模块时,可能会发生这种情况。环境变量可用于切换到其他Perl安装。

要确定是否存在这种情况,请运行:

env | grep PERL

输出中有PERL5LIBPERL_LOCAL_LIB_ROOT可能会引起问题。尝试取消设置环境变量,然后将其从您的~/.bashrc文件或等效的Shell rc文件中删除。

答案 1 :(得分:1)

源自Bert Hekman,在7月5日8:22回答:

env PERL5LIB= PERL_LOCAL_LIB_ROOT= cpan

把这招当作我的快速而肮脏的解决方案。

答案 2 :(得分:0)

好的,事实证明重启可以解决问题。我想在发布这里之前我应该​​把它关掉......