perl @inc问题

在服务器上有多个版本的perl 时,在安装某个perl 程序的时候经常会出现如下类似问题

/usr/bin/perl: symbol lookup error: /opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so: undefined symbol: Perl_xs_handshake
Failed to run /home/xxzhang/workplace/software/Shimmer/shimmer.pl --counts!

这是由于多个版本的perl 使用的编译包不一致,但是在调用时,又加载了另一个Perl版本的模块,从而导致出错,所以需要将另一个版本的模块路径禁掉。

由于系统自带的Perl 版本较低,所以一直使用自己安装的高版本的perl,但是,系统的perl 的lib 路径我们无法修改;

perl -V 查看@INC

@INC:
    /home/xxx/perl5/lib/perl5/x86_64-linux-thread-multi
    /home/xxx/perl5/lib/perl5
    /share/perl/lib/perl5/x86_64-linux-thread-multi
    /share/perl/lib/perl5
    /usr/share/perl5
  

查看一下:/etc/profile

export PERL5LIB=/share/perl/lib/perl5:/usr/share/perl5:${PERL5LIB}

/share/perl/lib/perl5,/usr/share/perl5这些路径我们都无法修改,所以只好修改自己的配置文件

PERL5LIB="/home/xxx/perl5/lib/perl5${PERL5LIB:+:${PERL5LIB}}"; export PERL5LIB;

修改为

PERL5LIB="/home/xxx/perl5/lib/perl5"; export PERL5LIB;

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值