【问题标题】:Switch to different version of Perl - modules version切换到不同版本的 Perl - 模块版本
【发布时间】:2013-12-22 20:43:39
【问题描述】:

我正在尝试使用新版本的 perl - 5.18.1,但我尝试使用的模块之一出现错误:

/usr/local/perl-5.18.1/bin/perl:符号查找错误: /home/riskprod/bin/lib/perl5/x86_64-linux-thread-multi/auto/Cwd/Cwd.so: 未定义符号:Perl_Tstack_sp_ptr

我有 cpan 并将其用于我的模块。根据我的研究,错误的原因似乎是它是使用不同版本的 perl 构建的。

如何更改构建版本?这个问题的正确解决方案是什么?

一些细节

这是我在 bash_profile 中的内容:

export PERL_LOCAL_LIB_ROOT="/home/riskprod/perl5:$PERL_LOCAL_LIB_ROOT";
export PERL_MB_OPT="--install_base "/home/riskprod/perl5"";
export PERL_MM_OPT="INSTALL_BASE=/home/riskprod/perl5";
export PERL5LIB="/home/riskprod/perl5/lib/perl5:$PERL5LIB";
export PATH="/home/riskprod/perl5/bin:$PATH";

这是我运行 cpan 的方式:

/usr/local/perl-5.18.1/bin/perl -MCPAN -e shell

我这样做是为了重新安装:

force install Cwd

【问题讨论】:

    标签: linux perl perl-module cpan


    【解决方案1】:

    您尝试使用的模块是针对不同版本的 Perl 编译的。目前尚不清楚您为实现这一目标做了什么。也许您将PERL5LIB 设置为指向使用INSTALL_BASE 安装模块的目录? (该死的,INSTALL_BASE!)您只需要重新安装该模块,但这也有助于停止查看包含该模块的任何目录。

    【讨论】:

    • 我确实尝试重建/重新安装,但得到了相同的结果。请查看我在帖子中添加的详细信息。
    • I shell 改写为:“看起来您将不得不停止查看包含该模块的任何目录。”。如果这是您唯一的 Perl,我将删除(重命名以进行备份)/home/riskprod/perl5。 (并重新安装其中安装的所有内容。)
    • 我删除了目录并重新安装了所有东西,它工作正常,谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-20
    • 2023-04-11
    • 2014-04-13
    • 2012-08-14
    • 1970-01-01
    • 2022-01-12
    • 2015-01-15
    相关资源
    最近更新 更多