Yep, that helped. It's a missing XML::Parser problem. Here's the
error string:
Script stderr:
Can't locate XML/Parser.pm in @INC (@INC contains: /System/Library/
Perl/5.8.6/darwin-thread-multi-2level /System/Library/Perl/5.8.6 /
Library/Perl/5.8.6/darwin-thread-multi-2level /Library/Perl/5.8.6 /
Library/Perl /Network/Library/Perl/5.8.6/darwin-thread-
multi-2level /Network/Library/Perl/5.8.6 /Network/Library/Perl /
System/Library/Perl/Extras/5.8.6/darwin-thread-multi-2level /System/
Library/Perl/Extras/5.8.6 /Library/Perl/5.8.1 . /usr/local/
globus-4.0.5//lib/perl) at /usr/local/globus-4.0.5//lib/perl/Globus/
GRAM/ExtensionsHandler.pm line 4.BEGIN failed--compilation aborted
at /usr/local/globus-4.0.5//lib/perl/Globus/GRAM/
ExtensionsHandler.pm line 4.Compilation failed in require at /usr/
local/globus-4.0.5//lib/perl/Globus/GRAM/JobManager.pm line 8.BEGIN
failed--compilation aborted at /usr/local/globus-4.0.5//lib/perl/
Globus/GRAM/JobManager.pm line 8.Compilation failed in require at /
usr/local/globus-4.0.5//lib/perl/Globus/GRAM/JobManager/fork.pm
line 5.BEGIN failed--compilation aborted at /usr/local/
globus-4.0.5//lib/perl/Globus/GRAM/JobManager/fork.pm line
5.Compilation failed in require at (eval 1) line 3.
Sure enough, I did have to install XML::Parser via Fink after bumping
into an error during "make install". If I add
push(@INC, '/sw/lib/perl5/5.8.6/darwin-thread-multi-2level');
to the BEGIN of the job-manager-script things appear to work just
fine. I guess my final question is "What's the right way to
customize @INC?" Regards,
Adam
On Aug 1, 2007, at 10:29 AM, [EMAIL PROTECTED] wrote:
Hi Adam,
Please try another thing for me:
Add the following warn statement to
$GLOBUS_LOCATION/libexec/globus-job-manager-script.pl
and check what the commandline output of a simple globusrun-ws job is.
I hope you get a "Script stderr ..." with some more information.
Please send it then.
...
eval "require $manager_class";
if($@)
{
my $error_string = $@;
warn $error_string;
...
Thanks, Martin
Hi Martin,
On Aug 1, 2007, at 9:14 AM, [EMAIL PROTECTED] wrote:
Adam,
I think the problem in your case is the line
eval "require $manager_class";
If require fails you'll enter the following if block and because
you did not specify a logfile the condition
if (defined($job_description) && defined($job_description->logfile
()))
fails. This is fine but the failing require is not fine.
Please do the following for me:
1. Add a system debug statement before the eval statement
system("echo $manager_class > /tmp/JOB_MANAGER_CLASS");
eval "require $manager_class";
What's the content of /tmp/JOB_MANAGER_CLASS after a job
submission?
Globus::GRAM::JobManager::fork
2. What are the permissions of
$GLOBUS_LOCATION/lib/perl/Globus/GRAM/JobManager/*.pm
-rw-r--r-- 1 globus globus 13597 Jul 31 12:13 /usr/local/
globus-4.0.5/
lib/perl/Globus/GRAM/JobManager/fork.pm
3. Write the following job description to a file "job.xml":
<job>
<executable>/bin/true</executable>
<extensions>
<logfile>/tmp/GT_SUBMISSION_PERL_LOG</logfile>
</extensions>
</job>
and submit it using "globusrun-ws -submit -f job.xml"
What's the content of /tmp/GT_SUBMISSION_PERL_LOG?
true lives in /usr/bin on Mac OS X, so I changed the path and
submitted. The job failed and no logfile was generated. Regards,
Adam