mpiexec on FreeBSD
Brooks Davis
brooks at aero.org
Wed Apr 24 18:47:55 EDT 2002
I've got a cluster up with OpenPBS and Maui running FreeBSD. I'd like
to use mpiexec, but it's got some portability issues. I think I've got
a handle on most of them, here's my list:
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.
getopt.h is non-standard. unistd.h should be used instead (it appears
to include getopt.h anyway.)
In the function prepare_master_port(void), the sockaddr_in struct must
be zeroed before it is used or things get odd and inconsistant.
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 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"\'';
At this point some what less then half the test pass, but I can run
applications.
Thanks,
Brooks
[0] http://www.openbsd.org/cgi-bin/man.cgi?query=strlcpy&apropos=0&sektion=0&manpath=OpenBSD+Current&arch=i386&format=html
More information about the mpiexec
mailing list