Hi, Gilles,
thank you for reactivating that old case.
And of course, there are different workarounds, but this is not the problem.
The problem is that PVM has to work in accordance with the documentation,
and so in an heterogeneous environment, too. In addition, imagine an NFS file
system, containing the PVM installation for all the architectures
under the same PVM_ROOT. That makes sense if you have six
architectures, for example,
and want to create 1500 processes, for example, on that six architectures.
Some of those processes may or may not run on Debian systems.
Considering such an environment, the file system structure under PVM_ROOT
gets clear. And even such an environment normally works according to
the documentation.
In general, Debian stands for reliability and conformity, but
seemingly not in the present case. With respect to its PVM
installation, Debian expects to get special treatment, even if it is
homogeneously used or on the same host, fine.
The question here is the following. Why has the described problem ignored
for so many years ? I believe because the maintainers do not see the problem.
What a pitty, PVM is not a thing that can locally be considered only.
Stephan
Quoting Gilles Filippini <p...@debian.org>:
Hi,
Stephan Seidl a écrit , Le 23/05/2008:
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.
I've just got bitten by this very same bug with pvm-3.4.5-12.2 (squeeze).
The simplest way to reproduce it is :
$ echo "spawn pvmgs" | pvm; echo "halt" | pvm
pvm> spawn pvmgs
0 successful
No such file
...
And the simplest userspace workaround is to define the environment
variable PVM_PATH:
$ export PVM_PATH=/usr/lib/pvm3/lib
Hope this helps,
_g.
--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org