I'm trying to execute a script which depends on two modules (GRASS::raster and SMDR::setup_3001) in a grid environment. Once the job reach a node and before the execution, it installs the modules in $HOME/usr/local/perl_local_lib without any problem.
The first lines of the script are:
Although the use lib... line is working and @INC is modified it fails at execution with the following error message:use warnings; use diagnostics; use Carp; use Getopt::Long qw(:config permute); use File::Temp; use File::Spec; use lib "$ENV{HOME}/usr/local/perl_local_lib"; use GRASS::raster qw(:all); use SMDR::setup_3001 qw(:all);
The first item of @INC is the location specified by the use lib statement, and i already tried defining the route to the lib using PERL5LIB and PERL5OPT but it didn't work either.Can't locate GRASS/raster.pm in @INC (@INC contains: /home/ienvmod008/ +usr/local/perl_local_lib /opt/glite/lib/perl5 /opt/gpt/lib/perl/i386- +linux-thread-multi /opt/gpt/lib/perl /usr/lib/perl5/5.8.0/i386-linux- +thread-multi /usr/lib/perl5/5.8.0 /usr/lib/perl5/site_perl/5.8.0/i386 +-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/sit +e_perl /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi /usr/ +lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl .) at /home/ie +nvmod008/gram_scratch_4ua3ZvbJDO/https_3a_2f_2fi2grb01.ifca.es_3a9000 +_2fEGtV8vmZdn0cz95cNUieTQ_0/SMDR_Scripts_3001/smdr.setup.3001.pl line + 43. BEGIN failed--compilation aborted at /home/ienvmod008/gram_scratch_4ua +3ZvbJDO/https_3a_2f_2fi2grb01.ifca.es_3a9000_2fEGtV8vmZdn0cz95cNUieTQ +_0/SMDR_Scripts_3001/smdr.setup.3001.pl line 43 (#1) (F) You said to do (or require, or use) a file that couldn't be found. Perl looks for the file in all the locations mentioned in @ +INC, unless the file name included the full path to the file. Perhaps +you need to set the PERL5LIB or PERL5OPT environment variable to say w +here the extra library is, or maybe the script needs to add the library + name to @INC. Or maybe you just misspelled the name of the file. See perlfunc/require and lib.
Any idea of why is this happening or how should i specify the location of the modules?
Thank you!
In reply to Problem loading modules while executing in cluster by lecot
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |