2011-06-06 176 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

相關問題