mpiexec on FreeBSD

Brooks Davis brooks at aero.org
Thu Apr 25 03:38:25 EDT 2002


On Wed, Apr 24, 2002 at 08:39:45PM -0700, Pete Wyckoff wrote:
> > The strlcpy and strlcat functions defined in util.[ch] have prototypes
> > which are incompatable with the standard prototypes[0].  The lowest
> > effort solution would be to rename them to something else (I got things
> > working be prepepending bogo to them).  The better solution would be to
> > fix the prototypes and add a test to the configure script to only use
> > them when the OS doesn't provide them.
> 
> I was working gradually towards getting rid of those functions,
> actually.  In my local tree is an auto-growing string thing instead.
> Recommend you keep your bogo-hack until the strl* are entirely expunged.

Ok, sounds workable.

> > In runtests.pl, I recommend adding this line to the scripts:
> > #PBS -S /bin/sh
> > which will insure you always use /bin/sh even on systems configured with
> > --disable-shell-invoke.
> 
> I stuck another config variable at the top of the perl script since I
> suspect it would be rather complex to try to probe the pbs config to
> figure it out.  You can set $fixed_shell = "/bin/sh" and it always adds
> this line now (and turns off the shell tests which aren't in the CVS
> yet).

That works.  I'm running with --enable-shell-pipe, but I ran down the
wrong path because I though I was running in my login shell (tcsh).

> > I also discovered that this line inserts a
> > resionable substitute for the echo command which is non-portable (not
> > all echos support -e):
> > print TMP 'perl -e \'$blah = join("\n",(1..' . $testlines . ')); print $blah . "\n"\'';
> 
> The echo thing isn't too pretty as well as being non-portable, but the
> perl is kinda scary too.  How about "seq 1 5" instead?  Comes with
> sh-utils here in linux-land.  Although I suppose the contents don't
> matter, just the count of lines.  Another possibility then is
> "yes foo | head -5".  Your guidance would be appreciated.

Unfortunatly BSD doesn't have seq (it has jot which is more powerful,
but appears to be BSD only).  I think it's either the evil perl or the
"yes | head -5".  It turns out that my quick perl hack was more evil
then necessicary.  This should work instead if you want though it's a
bit opaque:

print TMP qq{perl -e 'print join("\\n",(1..$testlines)) . "\\n"'\n};

> > At this point some what less then half the test pass, but I can run
> > applications.
> 
> That's a start.  Many of the tests are exotic uses anyway, and they're
> still nowhere near exhaustive.  Thanks for fixing these things.  It will
> be a while until the next release comes out (paper deadlines plus
> vacation), but I'll remember to let you know then, and we can work to
> fix the other broken tests.

It looks like the problem is that mpiexec isn't doing any redirection.
I'll take a closer look at it when I get a chance.

-- Brooks



More information about the mpiexec mailing list