Chapter 3. Downloading, Installing, and Testing the Client

Table of Contents
Installation on Unix Systems
Testing the Unix installation
Installation on Windows systems
Testing the Windows installation

The NetSolve client software is available for UNIX/UNIX-like operating systems and Windows environments. All of the client, agent, and server software is bundled into one tar-gzipped file. There is a separate distribution tar file for Unix and Windows installations. No root/superuser privileges are needed to install or use any component of the NetSolve system.

Installation on Unix Systems

The NetSolve distribution tar file is available from the NetSolve homepage. Once the file has been downloaded, the following UNIX commands will create the NetSolve directory:

gunzip -c NetSolve-1.4.tgz | tar xvf -

From this point forward, we assume that the UNIX SHELL is from the csh family.

The installation of NetSolve is configured for a given architecture using the GNU tool configure.
UNIX> cd NetSolve
UNIX> ./configure
For a list of all options that can be specified to configure, type
UNIX> ./configure --help

Usage:  configure [--with-cc=C_COMPILER] [--with-cnooptflags=C_NOOPT_FLAGS]
                  [--with-coptflags=C_OPT_FLAGS] [--with-fc=F77_COMPILER]
                  [--with-fnooptflags=F77_NOOPT_FLAGS]
                  [--with-foptflags=F77_OPT_FLAGS]
                  [--with-ldflags=LOADER_FLAGS]
                  [--with-nws=NWSDIR]
                  [--with-ibp=IBPDIR]
                  [--with-kerberos]
                  [--with-proxy=PROXY_TYPE]
                  [--with-outputlevel=OUTPUT_LEVEL]
                  [--enable-infoserver=INFOSERVER]
                  [--with-mpi=MPI_DIR]
                  [--with-petsc=PETSCDIR]
                  [--with-aztec=AZTEC_DIR]
                  [--with-azteclib=AZTEC_LIB]
                  [--with-superlu=SUPERLU_DIR]
                  [--with-superlulib=SUPERLU_LIB]
                  [--with-scalapacklib=SCALAPACK_LIB]
                  [--with-blacslib=BLACS_LIB]
                  [--with-lapacklib=LAPACK_LIB]
                  [--with-blaslib=BLAS_LIB]
                  [--with-mldk=MLDK_PATH]

where
   C_COMPILER         = default is to use gcc
   C_NOOPT_FLAGS      = C compiler flags to be used on files that
                        must be compiled without optimization 
   C_OPT_FLAGS        = C compiler optimization flags (e.g., -O)
   F77_COMPILER       = default is to use g77
   F77_NOOPT_FLAGS    = Fortran77 compiler flags to be used on files that
                        must be compiled without optimization 
   F77_OPT_FLAGS      = Fortran77 compiler optimization flags (e.g., -O)
   LOADER_FLAGS       = Flags to be passed only to the loader
   NWSDIR             = directory where NWS is installed (optional)
   IBPDIR             = directory where IBP is installed (optional)
   PROXY_TYPE         = currently supported values are netsolve
                        and globus (default is netsolve) 
   OUTPUT_LEVEL       = currently supported values are debug, view,
                        and none (default is view) 
   INFOSERVER         = currently supported values are alone and 
                        nothing specified (default is not alone,
                        where nothing is specified).
   MPI_DIR            = location of the MPI directory (optional,
                        assumes MPICH directory structure)
                        (default is /usr/local/mpich-1.2.1).
   PETSCDIR           = location of PETSc installation directory (optional)
   AZTEC_DIR          = location of Aztec installation directory (optional)
   AZTEC_LIB          = Aztec link line (optional)
   SUPERLU_DIR        = location of SuperLU installation directory (optional)
   SUPERLU_LIB        = SuperLU link line (optional)
   SCALAPACK_LIB      = ScaLAPACK link line (optional)
   BLACS_LIB          = MPIBLACS link line (optional)
   LAPACK_LIB         = LAPACK link line (optional)
   BLAS_LIB           = BLAS link line (optional)
   MLDK_PATH          = Path to MathLink Development Kit (optional)
All arguments are optional. The options particularly pertinent to NetSolve are:
        --with-nws=NWSDIR            location of NWS installation dir
        --with-ibp=IBPDIR            location of IBP installation dir
        --with-kerberos              use Kerberos5 client authentication
        --with-proxy                 which Proxy? (netsolve, globus)
        --with-outputlevel           output level (debug,view,none)
        --enable-infoserver[=alone]  use InfoServer [alone]
The NetSolve service options are:
  --with-petsc=PETSCDIR               location of PETSc installation dir
  --with-petsclibdir=PETSC_LIB_DIR    location of PETSc library
  --with-aztec=AZTEC_DIR              location of Aztec installation dir
  --with-azteclib=AZTEC_LIB           Aztec link line
  --with-superlu=SUPERLU_DIR          location of SuperLU installation dir
  --with-superlulib=SUPERLU_LIB       SuperLU link line
  --with-mpi=MPI_DIR                  location of MPI Root Directory
  --with-lapacklib=LAPACK_LIB         LAPACK link line
  --with-scalapacklib=SCALAPACK_LIB   ScaLAPACK link line
  --with-blacslib=BLACS_LIB           MPIBLACS link line
  --with-blaslib=BLAS_LIB             BLAS link line
  --with-mldk=MLDK_PATH               Path to MathLink Development Kit

The configure script creates two main files, ./conf/Makefile.$NETSOLVE_ARCH.inc and ./conf/Makefile.inc. These files are created from the templates ./conf/Makefile.generic-arch and ./conf/Makefile.inc.in respectively. $NETSOLVE_ARCH is the string printed by the command ./conf/config.guess, with all '-' and '.' characters converted to '_' characters. The variable $NETSOLVE_ROOT is the complete path name to the installed NetSolve directory and defined in ./conf/Makefile.inc. These *.inc files are included by the Makefiles that build the NetSolve system. Manually editing these configuration files is strongly discouraged. However, if the user prefers to edit this file, details of the $NETSOLVE_ROOT/conf/Makefile.$NETSOLVE_ARCH.inc file are explained in the section called Details of the Makefile.NETSOLVE_ARCH.inc File in Chapter 12.

Typing make in the NetSolve directory will give instructions to complete the compilation. A typical client compilation includes:
UNIX> make C Fortran tools test
to build the C and Fortran client interfaces, NetSolve management tools (see Chapter 16), and NetSolve test suite (see the section called Testing the Software in Chapter 13). To build the Matlab client interface to NetSolve, type
UNIX> make matlab
and to build the Mathematica client interface to NetSolve, type
UNIX> make mathematica
As previously stated, the Java client interface is in the process of being updated, and is not available in release 1.4 of NetSolve. After a successful compilation process, the appropriate binaries and/or libraries can be found in the $NETSOLVE_ROOT/bin/$NETSOLVE_ARCH and/or $NETSOLVE_ROOT/lib/$NETSOLVE_ARCH directories respectively. Thus, to execute a NetSolve binary, the user must either execute the command from within the $NETSOLVE_ROOT/bin/$NETSOLVE_ARCH directory, or add this directory name to his UNIX path variable.