################**############## # NetSolve v2.0 INSTALLATION # #################**############# NetSolve-2.0 is a major release which fixes several known bugs in version 1.4.1, as well as incorporating many new features. For more details, see the release notes and the README file in the NetSolve directory. Upgrading an Existing Installation ================================== If you have already installed your own problems into an older version of NetSolve, it is simple to incorporate those problems into a new 2.0 installation. If you never created any of your own problem description files, but you changed some information in the server_config, then you can skip step 3. 1. Unzip the new distribution: # gunzip NetSolve-2.0.tgz # tar xvf NetSolve-2.0.tar 2. Copy your server_config to the new distribution: # cp NetSolve-1.4.1/server_config NetSolve-2.0 3. Copy any problem description files you had created previously to the new distribution. For example, carry out the following step for each problem you created (where "MyProblem" should be replaced with the specific filename): # cp NetSolve-1.4.1/problems/MyProblem NetSolve-2.0/problems The rest of the build instructions for compiling NetSolve are the similar to previous versions. With the exception of a new install script that has been created to assist with the installation. Those instructions follow for your reference. Introduction ============ NetSolve 2.0's configuration and installation environment has changed from previous versions prior to 1.4.1. Previously, a custom set of make include files were used to achieve easy installation. NetSolve 2.0 now uses autoconf to create an environment that looks like many other Open Source projects. There is also a new script, ns_install, to help make the installation even easier. It is recommended that you use this script to assist with the configuration and install of NetSolve. It will step you through the configuration, prompting for the necessary information to complete the install and then run configure. You can bypass this script and run configure yourself if you are comfortable doing so. INSTALLING THE NETSOLVE SOFTWARE USING ns_install ================================================= 0. Run ns_install from the new NetSolve-2.0 directory where the NetSolve package was uncompressed. -------------------------------------- UNIX> ./ns_install 1. The script will first prompt for the components to be installed. 1. Standard (Client, Server, Agent, Testers, Tools) 2. Client 3. Server 4. Agent 5. Tools 6. Testers 7. GridRPC API 8. Matlab interface 9. Octave interface Enter 1 for the most common set of components. 2. If your selection above included the Server component you will be asked whether you want to enable GPG for signing software when using the Hardware/Software server feature. It is recommended that you enter y here if you wish to use the Hardware/Software server. 3. GPG options. If you selected to use GPG then you will be prompted to use version 1.2.2. If this version is present in your PATH you can choose to use it. Otherwise you may select to download GPG yourself ( see http://www.gnupg.org/ ), or let the script handle this download for you, or use a tarball already present. You may also skip GPG at this time. 4. Finally you will be prompted for any additional arguements to be passed to configure. Options are listed below under 2.1 Command line arguements. For example, if you wanted to limit the number of ports used by NetSolve to 9001 thru 9204, simply enter; --enable-port-restriction 5. The script will now configure and build the components selected. If successful you should see; NetSolve installation complete. 6. Starting the Agent bin/$NETSOLVE_ARCH/NS_agent 7. Starting the Server bin/$NETSOLVE_ARCH/NS_server 8. Testing bin/$NETSOLVE_ARCH/Test INSTALLING THE NETSOLVE SOFTWARE USING CONFIGURE ================================================ 0. Overview for the impatient -------------------------- UNIX> ./configure UNIX> make standard 1. Configuration (generic) ----------------------- NetSolve now uses an autoconf generated "configure" script to help automate the installation process. To run this script, simply change to the top level NetSolve directory and run: UNIX> ./configure You should see a number of messages print out as configure tries to decipher the environment. NOTE: If you have previously configured on another platform, you MUST run: UNIX> make configclean 2. Customizing the configuration ----------------------------- There are 2 main ways to customize the NetSolve configuration. The first is to pass command line arguments to the configure script described above. The second is to manually edit the files that would be created by the configure script. 2.1 Command line arguments to configure ----------------------------------- If you type: UNIX> ./configure --help you should see a message discussing the usage of the configure script. At the bottom of the printout, you should see the options pertinent specifically to NetSolve. They are: ===Begin NetSolve Compile Options: --with-cc determine which C compiler to use --with-cnooptflags set compiler flags that don't deal with optimization - (ONLY USE IN COMBINATION WITH --with-cc) - CFLAGS will be set to C_OPT_FLAGS+C_NOOPT_FLAGS --with-coptflags set compiler optimization flags - (ONLY USE IN COMBINATION WITH --with-cc) - CFLAGS will be set to C_OPT_FLAGS+C_NOOPT_FLAGS --with-fc determine which Fortran compiler to use --with-fnooptflags set compiler flags that don't deal with optimization - (ONLY USE IN COMBINATION WITH --with-fc) - FFLAGS will be set to F_OPT_FLAGS+F_NOOPT_FLAGS --with-foptflags set compiler optimization flags - (ONLY USE IN COMBINATION WITH --with-fc) - FFLAGS will be set to F_OPT_FLAGS+F_NOOPT_FLAGS --with-ldflags set loader flags ===Begin NetSolve Run Time Options: --with-nws=NWSDIR location of NWS installation dir --with-ibp=IBPDIR location of IBP installation dir --with-kerberos[=KRBDIR] use Kerberos5 client authentication --with-proxy which Proxy? (netsolve, globus) --with-outputlevel output level (debug,view,none) --enable-infoserver[=alone] use InfoServer [alone] --enable-port-restriction server uses only ports 9001 thru 9204 ===Begin NetSolve Service Options: --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-ma28 if ma28 is to be included in the NetSolve services --with-itpack if itpack is to be included in the NetSolve services --with-arpacklib=ARPACK_LIB Arpack 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-blaslib=BLAS_LIB BLAS link line --with-blacslib=BLACS_LIB BLACS link line --with-mldk=MLDK_PATH Path to MathLink Development Kit --with-rpclib=RPC_LIB Full path of RPC library --with-octave-include=OCTAVE_INC_DIR location of Octave include directory --with-rpcinc=RPC_INC Directory containing RPC header files --with-gpg=GPGPATH Full path of gpg binary --with-buildgpg=BUILDGPG Location of gpg tar.gz file 2.2 Manually editing configuration files ---------------------------------------- The main file created by the ./configure command is ./conf/Makefile.$NETSOLVE_ARCH.in, where $NETSOLVE_ARCH is typically the string printed out by the command ./conf/config.guess, with all '-' and '.' characters converted to '_' characters. A user may edit this file to his/her liking, however, *ALL* pertinent options can be set by using the above mentioned command line arguments to configure. 3. Compilation ----------- UNIX> ./configure # see above section UNIX> make # prints out all available options Edit ./server_config if you wish to specify an agent other than netsolve.cs.utk.edu, or if you are planning to compile the agent and server and need to enable optional services (LAPACK, Sparse Solvers, etc...) UNIX> make standard # makes agent, server, client, tools, tests All binary executables can be found in ./bin/$NETSOLVE_ARCH Client Libraries will be located in ./lib/$NETSOLVE_ARCH NOTE: If for some reason you wish to force a rebuild, use UNIX> make ... FRC=force_rebuild 4. Testing ------- UNIX> setenv NETSOLVE_AGENT `hostname` #Assumes shell from csh family UNIX> $NETSOLVE_ROOT/bin/$NETSOLVE_ARCH/agent UNIX> $NETSOLVE_ROOT/bin/$NETSOLVE_ARCH/server UNIX> cd $NETSOLVE_ROOT/bin/$NETSOLVE_ARCH UNIX> Test 5. Notes ----- Compiler flag / Matlab mismatch on IRIX: If you wish to compile the Matlab interface to NetSolve, you must select a compiler flag setting for NetSolve that matches that used by Matlab. If you have the IRIX64 version of Matlab, you will need to over NetSolve's flags to select the -64 during the configure step.