/ / Чому я отримую "Не можу знайти завантажуваний об'єкт для модуля" навіть після встановлення модуля? - perl, модуль

Чому я отримую "Не можу знайти завантажуваний об'єкт для модуля" навіть після встановлення модуля? - perl, модуль

Чи може хто-небудь вказати на можливі причини того, що 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 каталог

Відповіді:

10 за відповідь № 1

The Unix::Processors модуль має компонент XS (C), який необхідно скласти та пов'язати як частину процесу встановлення. Повідомлення про помилку Can"t locate loadable object це посилання на цей компонент (загальна бібліотека), а не на .pm сам модульний файл

Це симптом помилково встановленого модуля, і найчастіше трапляється, коли .pm Файл був просто скопійований на місце замість того, щоб бути встановленим належним чином, як описано в perldoc perlmodinstall. Це також може статися, якщо установка була змушений, незалежно від будь-яких помилок у фазі складання та тестування.