首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Arch Linux Perl。( Dumper)未定义符号Perl_xs_apiversion_bootcheck

Arch Linux Perl。( Dumper)未定义符号Perl_xs_apiversion_bootcheck
EN

Stack Overflow用户
提问于 2015-07-09 15:51:00
回答 1查看 2.3K关注 0票数 3

由于最近的更新,Perl未能在我的Arch系统上执行大多数脚本。

大多数情况下,它由于数据::Dumper模块中未定义的符号而失败。其他时候,是因为Parser.so具有相同的未定义符号Perl_xs_apiversion_bootcheck。

Perlv5.22.0数据::Dumper是最新的(2.154)。

完全错误:

代码语言:javascript
运行
复制
/usr/bin/perl: symbol lookup error: perl5/lib/perl5/x86_64-linux-thread-multi/auto/Data/Dumper/Dumper.so: undefined symbol: Perl_xs_apiversion_bootcheck

我已经尝试重新安装模块,没有帮助。

我找到了这个线程:在两台不同的计算机上运行Perl脚本时出错

他们讨论了不同perl版本的问题,我在这里似乎没有这些问题。

还有其他想法吗?(从这里看,重新安装perl是不可能的.)

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-09 20:07:26

Arch Linux最近从Perl 5.20升级到Perl 5.22。这些与ABI不兼容,所以为Perl 5.20安装的任何XS模块都需要重新构建,否则您将得到您所描述的错误。

Arch的perl-5.22.0-1包包括数据::Dumper 2.158。由于您说您有2.154,所以您必须手动安装了对Data::DumperforPerl5.20的升级。您需要删除该版本(现已过时)。

pacman -Qi perl-data-dumper报告什么了吗?如果是的话,你可以试试pacman -R perl-data-dumper

更新:似乎已经使用cpan将模块安装到您的系统cpan目录中。这最终导致了pacman安装的文件和cpan安装的文件的混合,这就是不建议使用的原因。

您应该考虑安装CPANPLUS::Dist::Arch并使用cpanp。你可以这样做:

代码语言:javascript
运行
复制
sudo pacman -S perl-cpanplus-dist-arch
setupdistarch

之后,使用cpanp安装模块将生成一个包文件,并使用pacman安装它。然后可以使用pacman卸载它们。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31322436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档