-1

我正在使用 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.

为什么?如何解决?

4

1 回答 1

1

它比编程更多的管理问题。你是从端口升级 Perl 的吗?如果是,您应该运行perl-after-upgrade脚本。如果这没有帮助,请检查 Socket.so 的位置:

 locate Socket.so

检查 .so 路径中的 Perl 版本。它应该等于/etc/make.conf文件中的 Perl 版本。

于 2013-03-09T06:36:51.820 回答