Не удается найти Parallel / ForkManager.pm в @INC - PullRequest
0 голосов
/ 21 ноября 2018

Я запускаю конвейер, который включает в себя запуск этого 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
...