/ / Por que eu recebo "Não é possível localizar o objeto carregável para o módulo" mesmo depois de instalar o módulo? - perl, módulo

Por que recebo “Não é possível localizar o objeto carregável para o módulo” mesmo depois de instalar o módulo? - perl, módulo

Alguém poderia me apontar para possíveis causas de Perl não encontrar um módulo instalado?

$ 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

Está bem,

$ perldoc -l Unix::Processors
/usr/share/perl5/Unix/Processors.pm

OK mas

$ 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.

CORRIGIDO: eu coloquei o compilado Processors.so próximo ao .pm quando deveria estar no auto diretório.

Respostas:

10 para resposta № 1

o Unix::Processors O módulo possui um componente XS (C) que deve ser compilado e vinculado como parte do processo de instalação. A mensagem de erro Can"t locate loadable object está se referindo a este componente (uma biblioteca compartilhada) em vez de .pm arquivo de módulo em si

Este é um sintoma de um módulo mal instalado, e na maioria das vezes acontece quando o .pm arquivo foi simplesmente copiado no lugar em vez de ser instalado corretamente como descrito em perldoc perlmodinstall. Também pode acontecer se a instalação tiver sido forçado, independentemente de quaisquer erros nas fases de compilação e teste.