If an error occurs during the invocation of NetSolve, a variety of diagnostic runtime error messages, as well as error codes that can be returned when calling a NetSolve function from the C or Fortran interfaces, are provided. The error codes and runtime error messages are listed in Chapter 24 and may have several possible explanations/causes. If one of these error messages occurs, the user should first check the agent and server log files, $NETSOLVE_ROOT/nsagent.log or $NETSOLVE_ROOT/nsserver.log, respectively. These files may contain more information to clarify the reason for the error message.
For diagnostic help in explaining the reasons for specific NetSolve run-time error messages, refer to the NetSolve Errata File
Although suitable default options are provided for the compilation of the software, one may look in the NetSolve/conf directory to edit the Makefile.NETSOLVE_ARCH.inc file. This file contains parameters to customize the compilation process.
Note: | |
---|---|
All of the parameters in this include file can (and should) be modified using command line arguments to configure. |
Most of the contents of this file are straightforward, including definitions for compilers, linkers, etc., and will not be explained here. There are however a few entries that may need explanation.
The OUTPUT_LEVEL macro defines the amount of debug output to print during installation. PROXY specifies which client proxy to use. CPU_STAT defines which method to use to monitor server processes in terms of workload, etc. and what method to use to assign tasks to servers. The AUTH_LIBS and AUTHENTICATION macros define the authentication to use (if any) in the system. Currently, the only options are KERBEROS5 or NO_AUTH (no authentication) for the AUTHENTICATION macro. If authentication is set to KERBEROS4, then AUTH_LIBS must be set to the location of the appropriate libraries needed to use the kerberos application programming interface.
If NWS is enabled, i.e., CPU_STAT = NWS, the variable NWSDIR provides the path to the NWS distribution. See Chapter 19) for further details.
In the case of a parallel server, it is necessary to set the MPI_DIR, MPI_INCLUDE_DIR, and MPI_INCDIR variables to the proper paths.
If IBP is enabled, i.e., IBPDIR provides the path to the IBP distribution. See Chapter 20 for further details.
This section contains variables for setting path names and to optional software packages such as PETSc, Aztec, ITPACK, SuperLU, LAPACK, ScaLAPACK, MPIBLACS, and BLAS.
An example Makefile.NETSOLVE_ARCH.inc for IRIX is listed below.
# Generated automatically from Makefile.generic-arch.in by configure. # Never include this file directly! # Always include ./Makefile.inc and make sure it is appropriately # set to include the proper platform specific file. # CUSTOMIZING CONFIGURATION # SHELL = /bin/sh ############################# #### INSTALL DIRECTORIES #### ############################# PLATFORM = mips-sgi-irix6.5 NETSOLVE_VERSION = 1.4 EXEC_PREFIX = $(NETSOLVE_ROOT)/$(NETSOLVE_ARCH) BINDIR = $(NETSOLVE_ROOT)/bin/$(NETSOLVE_ARCH) LIBDIR = $(NETSOLVE_ROOT)/lib/$(NETSOLVE_ARCH) OBJDIR = $(NETSOLVE_ROOT)/obj/$(NETSOLVE_ARCH) MATLABOBJDIR = $(OBJDIR)/MATLAB PDFGUICLASSDIR = $(BINDIR)/PDFGUICLASSDIR ############################### #### COMPILERS AND OPTIONS #### ############################### CC = /usr/bin/cc C_OPT_FLAGS = -O3 C_NOOPT_FLAGS = -n32 -mips4 -r12000 -common CFLAGS = $(C_OPT_FLAGS) $(C_NOOPT_FLAGS) NS_C_OPT_FLAGS = $(C_OPT_FLAGS) $(HBMFLAG) $(F2CFLAG) $(OUTPUT_LEVEL) $(ARCHCFLAGS) \ $(INCDIR) $(PROXY) ${CPU_STAT} ${IBPFLAG} \ ${AUTHENTICATION} $(DSIFLAGS) NS_C_NOOPT_FLAGS = $(C_NOOPT_FLAGS) $(HBMFLAG) $(F2CFLAG) $(OUTPUT_LEVEL) $(ARCHCFLAGS) \ $(INCDIR) $(PROXY) ${CPU_STAT} ${IBPFLAG} \ ${AUTHENTICATION} $(DSIFLAGS) NS_CFLAGS = $(CFLAGS) $(HBMFLAG) $(F2CFLAG) $(OUTPUT_LEVEL) $(ARCHCFLAGS) \ $(INCDIR) $(PROXY) ${CPU_STAT} ${IBPFLAG} \ ${AUTHENTICATION} $(DSIFLAGS) FC = /usr/bin/f77 F_OPT_FLAGS = -O3 F_NOOPT_FLAGS = -n32 -mips4 -r12000 FFLAGS = $(F_OPT_FLAGS) $(F_NOOPT_FLAGS) NS_FFLAGS = $(FFLAGS) $(INCDIR) $(ARCHCFLAGS) NS_F_OPT_FLAGS = $(F_OPT_FLAGS) $(INCDIR) $(ARCHCFLAGS) NS_F_NOOPT_FLAGS = $(F_NOOPT_FLAGS) $(INCDIR) $(ARCHCFLAGS) LINKER = $(FC) LDFLAGS = -LD_MSG:OFF=15,84 -n32 -mips4 -r12000 MEX = /usr/local/matlab/bin/mex MEXFLAGS = -O MEXEXT = .mexsg NS_MEXFLAGS = $(MEXFLAGS) $(HBMFLAG) $(F2CFLAG) $(OUTPUT_LEVEL) $(ARCHMFLAGS) \ $(INCDIR) $(PROXY) ${CPU_STAT} ${IBPFLAG} \ ${AUTHENTICATION} $(DSIFLAGS) -g -DMATLAB JAVAC = NS_JAVAFLAGS = -classpath $(NETSOLVE_ROOT)/src/PDF_GUI/classes:$(PDFGUICLASSDIR) \ -d $(PDFGUICLASSDIR) ############################## ### LIBS, DIRS AND DEFINES ### ############################## LIBS = -lm -lc INCDIR = -I$(NETSOLVE_ROOT)/include \ $(NWS_INCDIR) \ $(IBP_INCDIR) \ $(MPI_INCDIR) ARCHCFLAGS = -D$(NETSOLVE_OS) \ -D$(F2CSTR) -D$(F2CINT) -D$(F2CNAMES) -D$(RUSAGE) \ -DNETSOLVE_ROOT=\"$(NETSOLVE_ROOT)\" \ -DNETSOLVE_ARCH=\"$(NETSOLVE_ARCH)\" \ -DMPI_DIR=\"$(MPI_DIR)\" ARCHMFLAGS = -D$(NETSOLVE_OS) \ -D$(F2CSTR) -D$(F2CINT) -D$(F2CNAMES) -D$(RUSAGE) \ -D'NETSOLVE_ROOT=\"$(NETSOLVE_ROOT)\"' \ -D'NETSOLVE_ARCH=\"$(NETSOLVE_ARCH)\"' #### $F2CINT options #### FINT2CLONG : F77 INTEGER -> C long #### FINT2CINT : F77 INTEGER -> C int (default) #### FINT2CSHORT : F77 INTEGER -> C short F2CINT = FINT2CINT #### $F2CNAMES options #### F2CADD_ : F77 netsl( ) -> C netsl_( ) (default) #### F2CADD__ : F77 netsl( ) -> C netsl__( ) #### F2CNOCHANGE : F77 netsl( ) -> C netsl( ) #### F2CUPCASE : F77 netsl( ) -> C NETSL( ) F2CNAMES = F2CADD_ #### $F2CSTR options #### F2CSTRSUNSTYLE : Sun style of passing strings from f2c #### F2CSTRCRAYSTYLE : Cray style of passing strings from f2c #### F2CSTRSTRUCTPTR : Struct * style of passing strings from f2c #### F2CSTRSTRUCTVAL : Struct style of passing strings from f2c F2CSTR = F2CSTRSUNSTYLE ########################## ### AUXILIARY PROGRAMS ### ########################## FLEX = /usr/bin/flex BISON = /usr/bin/bison AR = /usr/bin/ar ARFLAGS = cr RANLIB = : RUSAGE = HAVERUSAGE ################################### #### NETSOLVE SPECIFIC OPTIONS #### ################################### #================# # F2C #================# F2CFLAG = -DNOCHANGE #================# # Program Output # #================# #### DEBUG : For really verbose debugging information #### VIEW : For smooth information during the execution #### NO_OUTPUT : no output OUTPUT_LEVEL = -DVIEW #==============# # Client Proxy # #==============# #### Proxies are currently mutually exclusive #### GLOBUS_PROXY : build and enable globus proxy #### NETSOLVE_PROXY : build and enable netsolve proxy PROXY = -DNETSOLVE_PROXY #====================# # Information Server # #====================# # options for INFOSERVERFLAGS # INFOSERVERFLAGS = (blank means do not use) # INFOSERVERFLAGS = -DINFOSERVER (use as part of agent) # INFOSERVERFLAGS = -DINFOSERVER -DSTANDALONEISERV (use in standalone mode) INFOSERVERFLAGS = INFOSERVER = #=================# # Workload Prober # #=================# ## Which probes? options are NWS, NS_WORKLOAD (NetSolve) CPU_STAT = -DNS_WORKLOAD #=====# # DSI # #=====# DSIFLAGS = ######################## ## AUXILIARY PACKAGES ## ######################## #================# # AUTHENTICATION # #================# ## options are NO_AUTH, KERBEROS5 AUTHENTICATION = -DNO_AUTH AUTH_LIBS = #=====# # NWS # #=====# NWSDIR = NWS_INCDIR = NWSLIBS = NWSEXECSSTUB = #=====# # MPI # #=====# MPI_DIR = /usr/local/mpich MPI_INCLUDE_DIR = $(MPI_DIR)/include MPI_INCDIR = -I$(MPI_INCLUDE_DIR) #=====# # IBP # #=====# IBPDIR = IBPARCH = IBP_INCDIR = IBPLIB = IBPOBJS_STUB = IBPOBJS = IBPFLAG = #========# # Globus # #========# #GLOBUS_DIR = #include $(GLOBUS_DIR)/etc/makefile_header #G_LIBS = -L$(GLOBUS_DIR)/lib $(GLOBUS_GRAM_CLIENT_LIBS) $(LIBS) #G_CFLAGS = $(GLOBUS_GRAM_CLIENT_CFLAGS) -I$(GLOBUS_DIR)/include #G_LDFLAGS = $(GLOBUS_GRAM_CLIENT_LDFLAGS) #LDAP_DIR = /usr/local/ldap #LDAP_LIBS = -L$(LDAP_DIR)/lib #LDAP_CFLAGS = -I$(LDAP_DIR)/include #LDAP_LDFLAGS = -lldap -llber #================# # Auxiliary Libs # #================# HAVE_petsc = 0 PETSC_DIR = /src/icl2/petsc/petsc-2.0.29/ PETSC_ARCH = linux BOPT = O PETSC_LIB_DIR = $(PETSC_DIR)/lib/lib$(BOPT)/$(PETSC_ARCH) HAVE_aztec = 0 AZTEC_DIR = /src/icl2/Aztec/ AZTEC_LIB_DIR = /src/icl2/Aztec/lib/libg/linux HAVE_superlu = 0 SUPERLU_DIR = /src/icl2/SuperLU/ SUPERLU_LIB_DIR = /src/icl2/SuperLU/lib/sequential/linux USE_SUPERLU_SERIAL = -DUSE_SERIAL USE_SUPERLU_DIST = LAPACK_LIB_LINK = /usr/local/lib/liblapack-n32.a SCALAPACK_LIB_LINK = /usr/local/lib/libscalapack.a BLAS_LIB_LINK = /usr/lib32/mips4/libblas.a BLACS_LIB_LINK = /usr/local/lib/libmpiblacsCinit-p4.a /usr/local/lib/libmpiblacs-p4.a /usr/local/lib/libmpiblacsCinit-p4.a |