--- Begin Message ---
Package: pvm
Version: 3.4.5-7
Report-Headline: PVM group server cannot be started
When I start some PVM application, consisting of a shell script which
invokes a binary file, then I get the following error message.
=========================================================================
seidl@smobi: ./Start-w-pvm cc=isoc89
pvm> conf
1 host, 1 data format
HOST DTID ARCH SPEED DSIG
smobi 40000 LINUX 1000 0x00408841
pvm> quit
Console: exit handler called
pvmd still running.
/tmp/fmc/work/isoc89@smobi/bin/fmc
libpvm [t40002]: gs_getgstid() failed to start group server: No such file
fmc[112]: (i_pvminit): Error in PVM group server.
=========================================================================
The appropriate environment looks as follows.
=========================================================================
seidl@smobi: set | grep PVM
PVM_ARCH=LINUX
PVM_EXPORT=PATH:DISPLAY:PVM_ROOT
PVM_ROOT=/usr/lib/pvm3
seidl@smobi: set | grep PATH=
PATH=...:/usr/lib/pvm3/lib:...
=========================================================================
`pvmgetarch' returns `LINUX'.
After repairing an installation error, which should herewith be reported,
the output looks as follows.
=========================================================================
seidl@smobi: ./Start-w-pvm cc=isoc89
pvm> conf
1 host, 1 data format
HOST DTID ARCH SPEED DSIG
smobi 40000 LINUX 1000 0x00408841
pvm> quit
Console: exit handler called
pvmd still running.
/tmp/fmc/work/isoc89@smobi/bin/fmc
Number of running message-passing processes is 8
Role Iworker 1 rank 1 cluster 0 (smobi)
Role Oworker 1 rank 0 cluster 0 (smobi)
Role Sworker 1 rank 2 cluster 0 (smobi)
Role Sworker 2 rank 3 cluster 0 (smobi)
Role Sworker 3 rank 4 cluster 0 (smobi)
Role Sworker 4 rank 5 cluster 0 (smobi)
Role Sworker 5 rank 6 cluster 0 (smobi)
Role Sworker 6 rank 7 cluster 0 (smobi)
=========================================================================
The installation error itself can be fixed by the following shell commands.
=========================================================================
# Deal with PVM.
pvmarch="unknown"
test -x /usr/bin/pvmgetarch && pvmarch=`/usr/bin/pvmgetarch`
if [ -d /usr/lib/pvm3/bin ]; then
if [ ! -d "/usr/lib/pvm3/bin/${pvmarch}" ]; then
# Error in Debian Etch, at least.
# Allow to automatically start the PVM group server.
mkdir "/usr/lib/pvm3/bin/${pvmarch}"
chown 0.0 "/usr/lib/pvm3/bin/${pvmarch}"
chmod 755 "/usr/lib/pvm3/bin/${pvmarch}"
fi
fi
if [ -d "/usr/lib/pvm3/bin/${pvmarch}" -a -x /usr/bin/pvmgs ]; then
if [ ! -L "/usr/lib/pvm3/bin/${pvmarch}/pvmgs" ]; then
# Error in Debian Potato/Woddy/Sarge/Etch, at least.
# Allow to automatically start the PVM group server.
(cd "/usr/lib/pvm3/bin/${pvmarch}" && ln -s ../../../../bin/pvmgs)
fi
fi
=========================================================================
It is seen that the problem is quite old. This time, it should perhaps
be tackled. It seems that the problem is a Debian problem only, because,
if I install PVM from the upstream sources, `/usr/lib/pvm3/bin/${pvmarch}'
is, as far as I can remember, selected as the place where some binaries
reside to keep inhomogeneity manageable. Perhaps, the above shell
commands should simply be executed by the `postinst' script with
the appropriate cleanup in `prerm'.
If you are looking for a simple test case, extract the code from
`http://rcswww.urz.tu-dresden.de/~seidl/slides/pvm/simplepvmtest.pdf'
by cut/past, and execute
cat simplepvmtest.c | sed s,100000,100, > pvmtest.c
cc -o pvmtest pvmtest.c -lgpvm3 -lpvm3
echo conf | pvm
./pvmtest > pvmtest-OUT
echo halt | pvm
It should work.
Best regards
Stephan Seidl
--- End Message ---