有人能告诉我Perl找不到已安装模块的可能原因吗?
$ ll /usr/share/perl5/Unix/Processors.pm
-rw-r--r-- 1 root root 3.2K Sep 11 12:39 /usr/share/perl5/Unix/Processors.pm
好的,
$ perldoc -l Unix::Processors
/usr/share/perl5/Unix/Processors.pm
好的,但是
$ perl -MUnix::Processors -e1
Can't locate loadable object for module Unix::Processors in @INC (@INC contains: /usr/lib/cegma /usr/share/mocat/src /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at -e line 0
Compilation failed in require.
BEGIN failed--compilation aborted.
固定:我把编译后的Processors.so
放在.pm
旁边,而它应该在auto
目录中。
Unix::Processors
模块有一个XS(C)组件,该组件必须作为安装过程的一部分进行编译和链接。错误消息Can't locate loadable object
指的是该组件(共享库),而不是.pm
模块文件本身
这是错误安装模块的症状,最常见的情况是.pm
文件被简单地复制到适当的位置,而不是像perldoc-perlmodinstall中描述的那样正确安装。如果安装被强制,也可能发生这种情况,而不管构建和测试阶段是否有任何错误。