Я запускаю конвейер, который включает в себя запуск этого Perl-скрипта CP3_Opti.pl, использующего модуль Parallel :: ForkManager (https://github.com/lyl8086/RADscripts/blob/master/RADassembler/bin/CP3_Opti.pl), путем отправки его в sge на удаленном кластере (CentOS Linux выпуск 7.5.1804, perlv5.16.3). выдает ошибку:
Не удается найти Parallel / ForkManager.pm в @INC (@INC содержит: /home/isabolic/perl5/lib/perl5/5.16.3/ x86_64-linux-thread-multi /home/isabolic/perl5/lib/perl5/5.16.3/x86_64-linux-thread-multi /home/isabolic/perl5/lib/perl5/5.16.3 / home / isabolic / perl5/ lib / perl5 / x86_64-linux-thread-multi /home/isabolic/perl5/lib/perl5/5.16.3/x86_64-linux-thread-multi /home/isabolic/perl5/lib/perl5/5.16.3 / home/ isabolic / perl5 / lib / perl5 / x86_64-linux-thread-multi / home / isabolic / perl5 / lib / perl5 / usr / local / lib64 / perl5 / usr / local / share / perl5 / usr / lib64 / perl5 / vendor_perl/ usr / share / perl5 / vendor_perl / usr / lib64 / perl5 / usr / share / perl5 / usr / local / lib64 / perl5 / usr / local / share / perl5 / usr / lib64 / perl5 / vendor_perl / usr /share / perl5 / vendor_perl / usr / lib64 / perl5 / usr / share / perl5.) В /home/isabolic/bin//bin/CP3_Opti.pl строке 5. BEGIN не удалось - сборка прервана в /home/isabolic/bin//bin/CP3_Opti.pl строка 5Ошибка в локальной сборке, выход ...
Однако Parallel :: ForkManager фактически установлен и находится в пути @INC по адресу / usr / share / perl5 / vendor_perl :
cpan -D Parallel:ForkManager
Y/YA/YANICK/Parallel-ForkManager-2.02.tar.gz
/usr/share/perl5/vendor_perl/Parallel/ForkManager.pm
Installed: 1.18
CPAN: 2.02 Not up to date
Yanick Champoux (YANICK)
yanick+cpan@babyl.dyndns.org
Модуль был установлен администратором, и у меня нет доступа с правами root, но для самого модуля, а также всех каталогов пути включены разрешения на чтение для всех.Когда я запускаю perl -e "use Parallel::ForkManager"
в терминале, ошибок нет.Переменная PERL5LIB в моем файле .bashrc содержит все каталоги, перечисленные выше в @ INC.
. Добавление use lib "usr/share/perl5/vendor_perl"
перед строкой 5 в CP3_Opti.pl (использование Parallel :: ForkManager) не помогло.Также не помогло изменение строки shebang в скрипте с #!/usr/bin/env perl
на #!/usr/bin/perl
, не получилось, такая же ошибка.
При попытке установить этот модуль с помощью cpan в моей локальной библиотеке Perl я получаю кучу ошибок, так как он не проходит многократное тестирование, что было первоначальной причиной установки / usr.
Кто-нибудь знает, что можетбыть проблемой?
РЕДАКТИРОВАТЬ: ls -ld /usr /usr/share /usr/share/perl5 /usr/share/perl5/vendor_perl /usr/share/perl5/vendor_perl/Parallel /usr/share/perl5/vendor_perl/Parallel/ForkManager.pm
из оболочки дает:
drwxr-xr-x. 13 root root 155 Kol 8 16:01 /usr
drwxr-xr-x. 147 root root 4096 Stu 21 08:52 /usr/share
drwxr-xr-x 49 root root 4096 Ruj 13 20:11 /usr/share/perl5
drwxr-xr-x 44 root root 4096 Stu 6 17:12 /usr/share/perl5/vendor_perl
drwxr-xr-x 2 root root 28 Stu 6 17:12 /usr/share/perl5/vendor_perl/Parallel
-rw-r--r-- 1 root root 26027 Ožu 30 2016 /usr/share/perl5/vendor_perl/Parallel/ForkManager.pm
и system('ls -ld /usr /usr/share /usr/share/perl5 /usr/share/perl5/vendor_perl /usr/share/perl5/vendor_perl/Parallel /usr/share/perl5/vendor_perl/Parallel/ForkManager.pm >&2')
из сценария:
ls: cannot access /usr/share/perl5/vendor_perl/Parallel: No such file or directory
ls: cannot access /usr/share/perl5/vendor_perl/Parallel/ForkManager.pm: No such file or directory
drwxr-xr-x. 13 root root 155 Oct 10 10:13 /usr
drwxr-xr-x. 133 root root 4096 Oct 10 08:40 /usr/share
drwxr-xr-x 48 root root 4096 Oct 10 08:38 /usr/share/perl5
drwxr-xr-x 32 root root 4096 Oct 10 08:42 /usr/share/perl5/vendor_perl