我正在使用FreeBSD9.1。
有:
root@BSD:/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.
为什么呢?如何解决?
答案 0 :(得分:1)
它比管理更多的管理问题。你是否从端口升级了Perl?如果是,您应该运行perl-after-upgrade
脚本。如果这没有帮助,请检查Socket.so:
locate Socket.so
检查.so路径中的Perl版本。它应该等于/etc/make.conf
文件中的Perl版本。