On Wed 07-08-15 22:12, Ben Clifford wrote:
> I am trying to run this:
> 
> [EMAIL PROTECTED]:~$  globus-job-run grow.cs.uni.edu  \
> /mnt/nfs/user/worker/app/R-2.5.1/bin/R --vanilla
> 
> Error, argument --vanilla : double-dashed option syntax is not allowed
> Syntax : globus-job-run {[-:] <contact string> [-np N] <executable> 
> [<arg>...]}...Use -help to display 
> full usage.
> 
> Does anyone know a way to make the --vanilla pass through? I've tried a 
> few different ways of quoting.

Quoting the argument won't help; a quoted "--" is still a "--",
and the globus-job-run command itself can't tell the difference.

This appears to be a bug.  I suggest submitting a bug report via
<http://bugzilla.mcs.anl.gov/globus/>.  The check for arguments
starting with "--" should be done only on arguments processed by the
command itself.

I can think of several workarounds.

The check is done in $GLOBUS_LOCATION/libexec/globus-args-parser-header.
As a workaround, I suppose you could search for the error message
in that script and comment out the three lines.  globus-job-run and
other commands would then fail to diagnose some actual errors.

Another possibility is to wrap the "/.../R --vanilla" command in a
script and invoke the script rather than invoking the command directly.

Or (and this is the easiest approach) you could invoke the command
indirectly via the shell:

    globus-job-run grow.cs.uni.edu /bin/sh -c "/.../R --vanilla"

With this command, the arguments seen by the globus-job-run command are:
    "grow.cs.uni.edu"
    "/bin/sh"
    "-c"
    "/.../R --vanilla"
Since none of the arguments start with "--" the error message won't
be triggered.  (The shell takes care of parsing the argument and
invoking the "R" command with "--vanilla" as an argument).

-- 
Keith Thompson <[EMAIL PROTECTED]>  San Diego Supercomputer Center
<http://users.sdsc.edu/~kst/>  858-822-0853
"We must do something.  This is something.  Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"

Reply via email to