Bugzilla – Bug 4174
GRAM should check for needed Perl modules
Last modified: 2007-05-03 10:51:59
You need to log in before you can comment on or make changes to this bug.
GRAM does not check for all the dependencies at build time. One I have run into a couple of times is XML/Parser.pm It can be really hard to figure out what the problem is. The only thing in the container log is: 2006-01-24 09:02:51,373 DEBUG perl.JobManagerScript [Thread-19,run:191] Executing command: /scratch/rynge/HEAD/install/libexec/globus-gridmap-and-execute -g /etc/grid-security/grid-mapfile /scratch/rynge/HEAD/install/libexec/globus-job-manager- script.pl -m fork -f /scratch/rynge/HEAD/install/tmp/gram_job_mgr60085.tmp -c submit 2006-01-24 09:02:51,422 DEBUG perl.JobManagerScript [Thread-19,run:208] first line: GRAM_SCRIPT_ERROR:21 2006-01-24 09:02:51,423 DEBUG perl.JobManagerScript [Thread-19,run:212] Read line: GRAM_SCRIPT_ERROR:21 2006-01-24 09:02:51,424 DEBUG perl.JobManagerScript [Thread-19,run:250] checking for anything on stderr... There might me more perl modules which should be checked for. A sample autoconf macro: AC_MSG_CHECKING(for XML::Parser Perl module) `$PERL -MXML::Parser -e 'exit 0;' >/dev/null 2>&1` if test $? != "0"; then AC_MSG_ERROR(failed) exit 1; fi; AC_MSG_RESULT(ok)
I added a check to the GRAM setup package which will display ERROR: Required perl module XML::Parser not found if the module is not found at setup time. joe
Do we need to add this to the admin guide's prereq list?
Probably. It will be a problem to keep track of all these tiny dependencies. Looking at the new test package (Bug 3705), it has a bunch of perl deps as well: Getopt::Long Term::ANSIColor Test::Harness::Straps HTML::Template IPC::Shareable
This is the complete set of modules referenced in GT 4.0.1 lib/perl: use Archive::Tar; use Archive; use AutoLoader; use Build; use BuildMacros; use Carp; use Compress::Zlib; use Config; use Cwd; use Data::Dumper; use Digest::MD5; use Errno; use ExpandSource; use Exporter; use Fcntl; use File::Basename; use File::Copy; use File::Find; use File::Path; use File::Spec; use Filelist; use Getopt::Long; use IO::Handle; use IO::Zlib; use IPC::Open2; use Inform; use POSIX; use Pod::Checker; use Pod::Find; use Pod::InputObjects; use Pod::ParseUtils; use Pod::Parser; use Pod::PlainText; use Pod::Select; use Pod::Usage; use Switch; use Symbol; use Tie::Handle; use XML::Parser;
I'm reopening, this fix should be added to the 4 0 branch too.
I committed the check for the XML:Parser Perl module Joe did in HEAD to the 4.0 branch.