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

Reply via email to