Can you pinpoint where you think the logic is incorrect? I can't easily see where the parens are being added, and don't know anyone who checks/uses that code path.
This hasn't been touched in a very long time, which makes me a tad cautious in how this gets changed. Would need someone to either provide a patch, or at least provide a means to test the result.
On Apr 29, 2010, at 9:24 AM, Jonathan Vincent wrote:
> We had some trouble with a user using /bin/sh together with
> openmpi/1.4.1 (Centos 5 on amd64 processors, intel compiler 11.1)
> When spawning MPI processes on a different machine it gave errors such as
> /bin/sh: -c: line 0: syntax error near unexpected token `('
> /bin/sh: -c: line 0: `/usr/bin/env
> ( test ! -r ./.profile || . ./.profile;
> /pdc/vol/openmpi/1.4.1/intel/bin/orted -mca ess env -mca
> orte_ess_jobid 284360704 -mca orte_ess_vpid 3 -mca orte_ess_num_procs
> 5 --hnp-uri "284360704.0;tcp://126.96.36.199:49530" )'
> openMPI is making a malformed statement
> i.e. a simpler version such as
> sh -c '/usr/bin/env FOO=bar (echo hello)'
> ksh -c '/usr/bin/env FOO=bar (echo hello)'
> is not valid
> sh -c '/usr/bin/env FOO=bar echo hello'
> This problem seems to be confined to the sh and ksh logic in
> devel mailing list