切换到不同版本的Perl - modules版本

时间:2013-12-05 18:37:43

标签: linux perl perl-module cpan

我正在尝试使用新版本的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

1 个答案:

答案 0 :(得分:1)

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