"rpvm" is an R package providing interface to PVM (Parallel Virtual Machine).

Copywright (2001) Na (Michael) Li <lina@u.washington.edu> and 
A. J. Rossini <rossini@u.washington.edu>.

=============================================================================
NOTICE
=============================================================================

rpvm is free software; you can redistribute  it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2, or (at your option) any later
version.

rpvm is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
for more details.
    
A copy of the GNU General Public License is available on the World Wide
Web at http://www.gnu.org/copyleft/gpl.html.  You can also obtain it by
writing to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
MA 02139, USA.

=============================================================================
DEPENDENCE
=============================================================================

rpvm depends on R version 1.2.0 or higher and PVM 3.4.2.  Optionally SPRNG
2.0.
    
=============================================================================
INSTALLATION:
=============================================================================

1.  Install pvm 3.4.3 (http://www.netlib.org/pvm3/pvm.3.4.3.tgz) and set
    environment variable PVM_ROOT to the directory pvm is installed.
    See pvm documentation for details.

    Binary distributions of pvm are available for some platforms (rpm for
    Redhat Linux, deb for Debian GNU/Linux, etc.).

    You need install pvm for each host you want to include in the virtual
    machine.

2.  (Optional) Install SPRNG 2.0 (http:/sprng.cs.fsu.edu).  Note that the
    generator pmlcg requires libgmp but it provides an outdated version of
    gmp.h.  Find the following line in sprng2.0/SRC/pmlcg/pmlcg.c:

    #include "gmp.h"

    and change it to

    #include <gmp.h>

    to use the system header file.  It won't compile otherwise. 


3.  Install rpvm without sprng support:

    R INSTALL rpvm_version.tgz.

    You need install rpvm for each host.

    If PVM_ROOT is not set, the configure script will try to look for
    first /usr/lib/pvm3/ then $HOME/pvm3/ and stop if none exists.

4.  Install rpvm with sprng support:

    R INSTALL rpvm_version.tgz --configure-args=--with-sprng=/path/to/sprng

    The header files of SPRNG are ssumed to be in /path/to/sprng/include and
    the library .a files are in /path/to/sprng/lib.  If you installed them in
    standard place like /usr/include and /usr/lib, then you can just say,

    R INSTALL rpvm_version.tgz --configure-args=--with-sprng=yes
    
    By default, --with-sprng=no, SPRNG wrapper is not installed.

5.  Optional.

    Set environment variables RSLAVEDIR (where to find R slave script, default
    $R_LIBS/rpvm) and RSLAVEOUT (where to put output from R slave process, 
    defalut $TMPDIR).  They can also be specified as option when calling the 
    spawning function.

=============================================================================
TEST:
=============================================================================

The examples in the Rd files are "dummy" examples in that

R CMD check rpvm

won't actually run those examples.  However, there are two scripts in tests
dir which should run successfully if pvm has been installed properly.

Caveat: To be able to run the test successfully, the local host shouldn't be
part of a already running VM (since rpvm may not be installed on other hosts).
After the test, pvmd is left running on the local host (attempts to shut down
the VM with .PVM.halt() in the test R script will abruptly shutdown R itself
and resulted in error exit).  Also because it is impossible to pass any
configure arguments to R CMD check, sprng wrapper is not built and the test
script isn't run during the test.
