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.


Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to