2013-03-09 43 views
-1

我正在使用FreeBSD9.1。FreeBSD中的cpan錯誤

有:

[email protected]:/root # cpan 
Can't load '/usr/local/lib/perl5/site_perl/5.14.2/mach/auto/Socket/Socket.so' for module Socket: /usr/local/lib/perl5/site_perl/5.14.2/mach/auto/Socket/Socket.so: Undefined symbol "PL_unitcheckav" at /usr/local/lib/perl5/5.14.2/XSLoader.pm line 71. 
at /usr/local/lib/perl5/site_perl/5.14.2/mach/Socket.pm line 852 
Compilation failed in require at /usr/local/lib/perl5/5.14.2/Net/Ping.pm line 12. 
BEGIN failed--compilation aborted at /usr/local/lib/perl5/5.14.2/Net/Ping.pm line 12. 
Compilation failed in require at /usr/local/lib/perl5/5.14.2/CPAN/Mirrors.pm line 11. 
BEGIN failed--compilation aborted at /usr/local/lib/perl5/5.14.2/CPAN/Mirrors.pm line 11. 
Compilation failed in require at /usr/local/lib/perl5/5.14.2/CPAN/FirstTime.pm line 11. 
BEGIN failed--compilation aborted at /usr/local/lib/perl5/5.14.2/CPAN/FirstTime.pm line 11. 
Compilation failed in require at /usr/local/lib/perl5/5.14.2/CPAN/HandleConfig.pm line 573. 

爲什麼呢?如何解決它?

回答

1

它比編程更多的管理問題。你是否從端口升級了Perl?如果是的話,你應該運行perl-after-upgrade腳本。如果這沒有幫助,請檢查Socket.so:

locate Socket.so 

檢查.so的路徑中的Perl版本。它應該等於您的/etc/make.conf文件中的Perl版本。