2011-06-06 180 views

回答

13

IO.soIO的二进制组件。这个分布的模块也是perl分布的一部分(即它们是双重存在的)。

这种类型的错误通常发生在使用Perl的一个版本编译的二进制文件被不同版本的Perl使用时。

+0

感谢。 '确实是这个问题。脚本顶部的shebang指向了错误的perl。 – Connor 2011-06-08 14:18:39

+0

也可能是另一种方式:更新版本的Perl使用旧版本的二进制文件。例如,手动将一些二进制文件从CentOS 6复制到CentOS 7(它使用更高版本的Perl)。 – Nagev 2017-01-31 17:30:55

+0

固定。 。 。 。 。 – ikegami 2017-01-31 17:35:51

0

当我在新的CentOS上使用旧的perl模块(例如CentOS 6.4)时,我有许多类似的问题。

/usr/bin/perl: symbol lookup error: /home/sonnn/perl5/lib/perl5/x86_64-linux-thread-multi/auto/Cwd/Cwd.so: undefined symbol: Perl_Tstack_sp_ptr 

/usr/bin/perl: symbol lookup error: /home/sonnn/perl5/lib/perl5/x86_64-linux-thread-multi/auto/version/vxs/vxs.so: undefined symbol: Perl_Tstack_sp_ptr 

我已经解决了这些问题,通过:从http://search.cpan.org/和CWD的

  • 下载源代码,版本重新安装它们

    # tar -xzf version-0.9906.tar.gz 
        # cd version-0.9906 
        # perl Makefile.PL INSTALL_BASE=/home/sonnn/perl5/ 
        # make 
        # make install 
    
        (If you use default module path, you can omit "INSTALL_BASE=/home/sonnn/perl5/") 
    
  • 做人之道其他模块

就你而言,我认为你可以从http://search.cpan.org/下载IO模块并重新安装它。

+1

我刚刚发布了与您发布的“vxs”完全相同的错误。另一种方法是使用:“cpanm版本”和“cpanm DBI”(DBI是有问题的模块)。我认为这比手动安装模块更容易。 – 2016-11-26 17:54:53

2

我在登录文件中定义了一个PERL5LIB环境变量,但最近遇到了这个问题,但它们指向的是与系统安装的perl不兼容的目录。发生这种情况的原因是HOME文件系统在perl安装异构的许多不同机器上交叉安装。删除环境变量解决了这个问题,我会找到更好的方式来管理本地库。

-1

编辑:

最后,尽管我知道这不是回答这个问题,我允许自己因为它看起来像真的很难资料得到,因为我发现了一堆网站提这些错误的,但很少有一致的解决方案。那就是这样。

我无法在更改平台路径之前处理我必须做的zimbra迁移。我们已经完成了从Ubuntu 8.04与Zimbra 6.0.16然后Zimbra 7.2.7,迁移到Ubuntu 10.04,然后升级Zimbra 8.0.9,然后迁移到Centos 7,然后升级到8.6.0

在Centos哪里我有我没有运行./install.sh -s后做zimbramon文件的移动...

mv /opt/zimbra/zimbramon/lib/x86_64-linux-gnu-thread-multi/ /opt/zimbra/zimbramon/lib/x86_64-linux-gnu-thread-multi.bak

然后我再次运行install.sh没有-s

相关问题