I have tried to run FEELnc_classifier.pl on our cluster and I have bumped into various perl module loading errors which happened in spite of modules are available in the location given in PERL5LIB.
It turned out that the three scripts use the default perl i.e. /usr/bin/perl which overrides the selected system perl I chose which has the correct modules installed.
Example error message:
Can't load '/apps/perl/5.24.0/lib/site_perl/5.24.0/x86_64-linux/auto/Encode/Encode.so' for module Encode: /apps/perl/5.24.0/lib/site_perl/5.24.0/x86_64-linux/auto/Encode/Encode.so: undefined symbol: PL_stack_sp at /apps/perl/5.24.0/lib/site_perl/5.24.0/x86_64-linux/XSLoader.pm line 96.
at /apps/perl/5.24.0/lib/site_perl/5.24.0/x86_64-linux/Encode.pm line 10.
Compilation failed in require at /usr/share/perl5/vendor_perl/Pod/Text.pm line 32.
BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Pod/Text.pm line 32.
Compilation failed in require at (eval 1) line 2.
BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Pod/Usage.pm line 29.
Compilation failed in require at /scs/groups/lncRNA_orthology/src/FEELnc/scripts/FEELnc_classifier.pl line 6.
BEGIN failed--compilation aborted at /scs/groups/lncRNA_orthology/src/FEELnc/scripts/FEELnc_classifier.pl line 6.
Hi Thomas and all,
I have tried to run FEELnc_classifier.pl on our cluster and I have bumped into various perl module loading errors which happened in spite of modules are available in the location given in PERL5LIB. It turned out that the three scripts use the default perl i.e. /usr/bin/perl which overrides the selected system perl I chose which has the correct modules installed.
Example error message: Can't load '/apps/perl/5.24.0/lib/site_perl/5.24.0/x86_64-linux/auto/Encode/Encode.so' for module Encode: /apps/perl/5.24.0/lib/site_perl/5.24.0/x86_64-linux/auto/Encode/Encode.so: undefined symbol: PL_stack_sp at /apps/perl/5.24.0/lib/site_perl/5.24.0/x86_64-linux/XSLoader.pm line 96. at /apps/perl/5.24.0/lib/site_perl/5.24.0/x86_64-linux/Encode.pm line 10. Compilation failed in require at /usr/share/perl5/vendor_perl/Pod/Text.pm line 32. BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Pod/Text.pm line 32. Compilation failed in require at (eval 1) line 2. BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Pod/Usage.pm line 29. Compilation failed in require at /scs/groups/lncRNA_orthology/src/FEELnc/scripts/FEELnc_classifier.pl line 6. BEGIN failed--compilation aborted at /scs/groups/lncRNA_orthology/src/FEELnc/scripts/FEELnc_classifier.pl line 6.
Changing the shebang from:
!/usr/bin/perl -w
to:
!/usr/bin/env perl
solves the problem.
Can this change made in the three scripts?
Best wishes, Lel