Configure Usage


Up: Contents Next: Mpirun Usage Previous: File Manifest

The command configure -help will print out


height 1pt


Configuring with args --help 
Configuring MPICH Version 1.2.3 (pre-alpha) of : 2001/08/20 18:08:23  
Usage: ./configure [--with-arch=ARCH_TYPE] [--with-comm=COMM_TYPE] 
            [--with-device=DEVICE] 
            [--with-mpe] [--without-mpe]  
	    [--disable-f77] [--disable-f90] [--with-f90nag] [--with-f95nag]  
	    [--disable-f90modules] 
            [--disable-gencat] [--disable-doc] 
            [--enable-cxx ] [--disable-cxx] 
            [--enable-mpedbg] [--disable-mpedbg]  
            [--enable-devdebug] [--disable-devdebug]  
            [--enable-debug] [--disable-debug]  
	    [--enable-traceback] [--disable-traceback] 
            [--enable-long-long] [--disable-long-long] 
            [--enable-long-double] [--disable-long-double] 
            [-prefix=INSTALL_DIR]  
 
            [-c++[=C++_COMPILER] ] [noc++]  
            [-opt=OPTFLAGS]  
            [-cc=C_COMPILER] [-fc=FORTRAN_COMPILER] 
            [-clinker=C_LINKER] [-flinker=FORTRAN_LINKER] 
            [-c++linker=CC_LINKER]  
            [-cflags=CFLAGS] [-fflags=FFLAGS] [-c++flags=CCFLAGS] 
            [-optcc=C_OPTFLAGS] [-optf77=F77_OPTFLAGS] 
            [-f90=F90_COMPILER] [-f90flags=F90_FLAGS] 
            [-f90inc=INCLUDE_DIRECTORY_SPEC_FORMAT_FOR_F90] 
            [-f90linker=F90_LINKER]  
            [-f90libpath=LIBRARY_PATH_SPEC_FORMAT_FOR_F90] 
            [-lib=LIBRARY] [-mpilibname=MPINAME] 
            [-mpe_opts=MPE_OPTS] 
	    [-make=MAKEPGM ] 
            [-memdebug] [-ptrdebug] [-tracing] [-dlast] 
	    [-listener_sig=SIGNAL_NAME] 
            [-cross] 
            [-adi_collective] 
            [-automountfix=AUTOMOUNTFIX] 
            [-noranlib] [-ar_nolocal]  
            [-rsh=RSHCOMMAND] [-rshnol] 
            [-noromio] [-file_system=FILE_SYSTEM] 
            [-p4_opts=P4_OPTS] 
where 
   ARCH_TYPE       = the type of machine that MPI is to be configured for 
   COMM_TYPE       = communications layer or option to be used 
   DEVICE          = communications device to be used 
   INSTALL_DIR     = directory where MPI will be installed (optional) 
   MPE_OPTS        = options to pass to the mpe configure 
   P4_OPTS         = options to pass to the P4 configure (device=ch_p4) 
   C++_COMPILER    = default is to use xlC, g++, or CC (optional) 
   OPTFLAGS        = optimization flags to give the compilers (e.g. -g) 
   CFLAGS          = flags to give C compiler 
   FFLAGS          = flags to give Fortran compiler 
   MAKEPGM         = version of make to use 
   LENGTH          = Length of message at which ADI switches from short 
                     to long message protocol 
   AUTOMOUNTFIX    = Command to fix automounters 
   RSHCOMMAND      = Command to use for remote shell 
   MPILIBNAME      = Name to use instead of mpich in the name of the MPI 
                     library.  If set, libMPILIBNAME will be used instead 
                     or libmpich.  This can be used on systems with 
                     several different MPI implementations. 
   FILE_SYSTEM     = name of the file system ROMIO is to use.  Currently  
                     supported values are nfs, ufs, pfs (Intel),  
                     piofs (IBM), hfs (HP), sfs (NEC), and xfs (SGI). 
   SIGNAL_NAME     = name of the signal for the P4 (device=ch_p4) device to 
                     use to indicate that a new connection is needed.  By 
                     default, it is SIGUSR1. 
 
All arguments are optional, but if 'arch', 'comm', or 'prefix' arguments 
are provided, there must be only one.  'arch' must be specified before 
'comm' if they both appear. 
 
Packages that may be included with MPICH 
 
--with-device=name     - Use the named device for communication.  Known 
                         names include ch_p4, ch_mpl, ch_shmem, and globus2. 
                         If not specified, a default is chosen.  Special  
                         options for the device are specified after the  
                         device name, separated by a colon.  E.g.,  
                         --with-device=globus2:-flavor=mpi,nothreads 
--with-romio[=OPTIONS] - Use ROMIO to provide MPI-I/O from MPI-2 (default). 
                         The options include -file_system=FSTYPE, where 
                         fstype can be any combination of nfs, ufs,  
                         pfs (intel), piofs (IBM), hfs (HP), sfs (NEC), and  
                         xfs (SGI), combined with '+'.  If romio is not 
                         included, the Fortran 90 modules cannot be built. 
--with-mpe             - Build the MPE environment (default) 
--with-f90nag          - Choose the NAG f90 compiler for Fortran  
                         (preliminary version intended for use *instead*  
                         of a Fortran 77 compiler) 
--with-f95nag          - Choose the NAG f95 compiler for Fortran 
--with-cross=file      - Use the file for cross compilation. The file 
                         should contain assignments of the form 
                            CROSS_SIZEOF_INT=4 
                         for each cross compilation variable.  The command 
                            egrep 'CROSS_[A-Z_]*=' configure | sed 's/=.*//g' 
                         will list each variable. 
 
You can use --without-<featurename> to turn off a feature (except for  
device). 
Options for device ch_lfshmem: 
--with-device=ch_lfshmem[:-usesysv] 
The option '-usesysv' applies to the ch_shmem device, and causes the device  
to attempt and use System V shared memory and semaphore routines, rather  
than what would be chosen by default (often mmap or a system-specific method). 
  
Options for device ch_meiko: 
--with-device=ch_meiko 
  
Options for device ch_mpl: 
--with-device=ch_mpl 
  
Options for device ch_p4: 
./configure: ./mpid/ch_p4/setup_ch_p4: Permission denied 
  
Options for device ch_p4mpd: 
--with-device=ch_p4mpd[:-listener_sig=SIGNALNAME][-dlast][-socksize=BYTES] 
 
The option '-listener_sig' applies to the ch_p4mpd device, and changes the 
signal that is used to signal that a new connection should be made.  By 
default, SIGUSR1 is used. 
 
The option '-dlast' causes the p4 device to remember the last few debugging 
messages, printing them out only when the job terminates abnormally. 
 
The option '-socksize' changes the size of the socket buffers used.   
  
Options for device ch_shmem: 
--with-device=ch_shmem[:-usesysv] 
The option '-usesysv' applies to the ch_shmem device, and causes the device  
to attempt and use System V shared memory and semaphore routines, rather  
than what would be chosen by default (often mmap or a system-specific method). 
  
Options for device globus: 
--with-device=globus[:-globusdir=GLOBUSDIR] 
'-globusdir=GLOBUS' allows one to specify the location of an installed  
version of Globus.  You can acquire Globus from http://www.globus.org ." 
  
Options for device globus2: 
*# GLOBUS_INSTALL_PATH must be set 
  
Features that may be included with MPICH 
 
--enable-c++          - Build C++ interfaces to the MPI-1 routines  
                        (default) 
--enable-f77          - Build Fortran 77 interfaces to the MPI  
                        routines (default) 
--enable-weak-symbols - Use weak symbols for MPI/PMPI routines.  This uses 
                        weak symbols, if available, for the profiling  
                        interface (default) 
--enable-debug        - Enable support for debuggers to access message  
                        queues 
--enable-traceback    - Enable printing of a call stack when MPI and the 
		        user's program is built with certain compilers  
			(currently only some versions of gcc are supported). 
--enable-mpedbg       - Enable the -mpedbg command-line argument (e.g.,  
                        errors can start an xterm running a debugger).   
                        Only works with some workstation systems. 
--enable-sharedlib    - Attempt to build shared libraries.  Static  
--enable-sharedlib=dir  libraries are always built.  If a directory is 
                        specified, the shared libraries will be placed in  
                        that directory.  This can be used to place the  
                        shared libraries in a uniform location in local  
                        disks on a cluster. 
--enable-f90modules   - Build Fortran 90 module support (default if a 
                        Fortran 90 or 95 compiler is found).  If ROMIO 
                        is not built, no Fortran 90 modules will be built. 
 
The following are intended for MPI implementors and debugging of configure 
--enable-strict       - Try and build MPICH using strict options in Gnu gcc 
--enable-echo         - Cause configure to echo what it does 
--enable-devdebug     - Enable debugging code in the ADI.   
 
You can use --disable-<featurename> to turn off a feature. 
 
Notes on configure usage: 
 
The suggestions for GNU configure usage suggest that configure not be used 
to build different tools, only controlling some basics of the features  
enabled or the packages included.  Our use of configure does not follow  
these rules because configure is too useful but we need the flexibility  
that allows the user to produce variations of MPICH. 
 
More notes on command-line parameters: 
 
You can select a different C and Fortran compiler by using the '-cc' and 
'fc' switches.  The environment variables 'CC' and 'FC' can also provide 
values for these but their settings may be overridden by the configure 
script.  Using '-cc=$CC -fc=$FC' will force configure to use those 
compilers. 
 
The option '-opt' allows you to specify optimization options for the 
compilers (both C and Fortran).  For example, '-opt=-O' chooses optimized 
code generation on many systems.  '-optcc' and '-optf77' allow you to 
specify options for just the C or Fortran compilers.  Use -cflags and 
-fflags for options not related to optimization.   
 
Note that the '-opt' options are not passed to the 'mpicc', 'mpif77',  
'mpiCC', and 'mpif90' scripts.  The '-opt' options are used only in  
building MPICH. 
 
The option '-lib' allows you to specify the location of a library that 
may be needed by a particular device.  Most devices do NOT need this 
option; check the installation instructions for those that might. 
 
The option '-make' may be used to select an alternate make program.  For 
example, to make use of VPATH builds (building in one directory with the 
source in a different directory), -make=gnumake may be required. 
 
The option '--disable-short-longs' may be used to suppress support for  
the C types 'long long' (a common extension) and 'long double' (ANSI/ISO C) 
when they are the same size as 'long' and 'double' respectively.  Some  
systems allow these long C types, but generate a warning message when  
they are used; this option may be used to suppress these messages (and  
support for these types). '--disable-long-long' disables just 'long long'; 
'--disable-long-double' disables just 'long double'. 
 
The option '-ar_nolocal' prevents the library archive command from 
attempting to use the local directory for temporary space.  This option 
should be used when (a) there isn't much space (less than 20 MB) 
available in the partition where MPICH resides and (b) there is enough 
space in /tmp (or wherever ar places temporary files by default). 
 
The option '-noranlib' causes the 'ranlib' step (needed on some systems 
to build an object library) to be skipped.  This is particularly useful 
on systems where 'ranlib' is optional (allowed but not needed; because it 
is allowed, configure chooses to use it just in case) but can fail (some 
'ranlib's are implemented as scripts using 'ar'; if they don't use the 
local directory, they can fail (destroying the library in the process) if 
the temporary directory (usually '/tmp') does not have enough space. 
This has occured on some OSF systems. 
 
The option '-rsh' allows you to select an alternative remote shell 
command (by default, configure will use 'rsh' or 'remsh' from your 
'PATH').  If your remote shell command does not support the '-l' option 
(some AFS versions of 'rsh' have this bug), also give the option 
'-rshnol'.  These options are useful only when building a network version 
of MPICH (e.g., '--with-device=ch_p4'). 
 
Special Tuning Options: 
 
There are a number of options for tuning the behavoir of the ADI 
(Abstract Device Interface) which is the low-level message-passing 
interface.  These should NOT be used unless you are sure you know what 
you are doing. 
 
The option '-pkt_size=LENGTH' allows you to choose the message length at 
which the ADI (Abstract Device Interface) switches from its short to long 
message format.  LENGTH must be positive. 
 
The option '-adi_collective' allows the ADI to provide some collective 
operations in addition to the basic point-to-point operations. 
Currently, most systems do not support this option (it is ignored) and on 
the others it has not been extensively tested.   
 
Options for Experts: 
 
The option '-memdebug' enables extensive internal memory debugging code. 
This should be used only if you are trying to find a memory problem (it 
can be used to help find memory problems in user code as well).  Running 
programs with the option '-mpidb memdump' will produce a summary, when  
'MPI_Finalize' is called, of all unfreed memory allocated my MPI.   For 
example, a user-created datatype that was not later freed would be  
reported. 
 
The option '-tracing' enables tracing of internal calls.  This should be 
used only for debugging the MPICH implementation itself. 
 
The option '-dlast' enables tracing of the most recent operations performed 
by the device.  These can be output when a signal (like SIGINT), error,  
or call to a special routine occurs.  There is a performance penalty for 
this option, but it can be very useful for implementors attempting to debug 
problems.   
 
Sample Configure Usage: 
 
To make for running on Sun's running Solaris with ch_p4 as the device, 
 and with the installation directory equal to the current directory: 
 
  ./configure --with-device=ch_p4 --with-arch=solaris 
  make 
 
Known devices are  
        ch_nx     (native Intel NX calls),  
        ch_mpl    (native IBM EUI or MPL calls), 
        ch_p4     (p4) 
        ch_p4mpd  (p4 with the MPD startup system) 
	globus2   (Globus: globus_io/vMPI) 
        ch_meiko  (for Meiko CS2, using NX compatibility library), 
        ch_shmem  (for shared memory systems, such as SMPs),  
        ch_lfshmem(for shared memory systems, such as SMPs; uses 
                   lock-free message buffers),  
        ch_cenju3 (native NEC Cenju-3 calls) 
 
The following devices were supported with ADI-1, but are currently 
unsupported.  Please contact us if you are interested in helping us 
support these devices: 
        meiko     (for Meiko CS2, using elan tport library), and 
	nx        (for Intel Paragon), 
	t3d	  (for the Cray T3D, using Cray shmem library). 
        ch_nc     (native nCUBE calls, requires -arch=ncube), 
        ch_cmmd   (native TMC CM-5 CMMD calls) 
These are no longer distributed with the MPICH distribution.       
 
Known architectures include (case is important) 
        alpha     (Compaq alpha) 
        CRAY      (CRAY XMP, YMP, C90, J90, T90) 
        cray_t3d  (CRAY T3D) 
        EWS_UX_V  (NEC EWS4800/360AD Series workstation.  Untested.) 
        freebsd   (PC clones running FreeBSD) 
        hpux      (HP UX) 
        intelnx   (Intel i860 or Intel Delta) 
        IRIX      (synonym for sgi) 
        IRIX32    (IRIX with 32bit objects -32) 
        IRIXN32   (IRIX with -n32) 
        IRIX64    (IRIX with 64bit objects) 
        ksr       (Kendall Square KSR1 and KSR2) 
	LINUX     (PC clones running LINUX) 
        LINUX_ALPHA (Linux on Alpha processors) 
        meiko     (Meiko CS2) 
        netbsd    (PC clones running NetBSD) 
        paragon   (Intel Paragon) 
        rs6000    (AIX for IBM RS6000) 
        sgi       (Silicon Graphics IRIX 4.x, 5.x or 6.x) 
        sgi5      (Silicon Graphics IRIX 5.x on R4400's, for the MESHINE) 
        solaris   (Solaris) 
	solaris86 (Solaris on Intel platforms) 
        sppux     (SPP UX) 
        sun4      (SUN OS 4.x) 
        SX_4_float0 
                  (NEC SX-4; Floating point format float0 
                             Conforms IEEE 754 standard. 
                   C:       sizeof (int)     = 4; sizeof (float) = 4 
                   FORTRAN: sizeof (INTEGER) = 4; sizeof (REAL)  = 4) 
        SX_4_float1 
                  (NEC SX-4; Floating point format float1 
                             IBM floating point format. 
                   C:       sizeof (int)     = 4; sizeof (float) = 4 
                   FORTRAN: sizeof (INTEGER) = 4; sizeof (REAL)  = 4) 
        SX_4_float2 
                  (NEC SX-4; Floating point format float2 
                             CRAY floating point format. 
                   C:       sizeof (int)     = 4; sizeof (float) = 8 
                   FORTRAN: sizeof (INTEGER) = 8; sizeof (REAL)  = 8) 
                   !!! WARNING !!! This version will not run 
                                   together with FORTRAN routines. 
                                   sizeof (INTEGER) != sizeof (int) 
        SX_4_float2_int64 
                   (NEC SX-4; Floating point format float2 and 
                              64-bit int's) 
                    C:       sizeof (int)     = 8; sizeof (float) = 8 
                    FORTRAN: sizeof (INTEGER) = 8; sizeof (REAL)  = 8) 
	tflops    (Intel TFLOPS) 
        UXPM      (UXP/M. Untested.) 
        uxpv      (uxp/v. Untested.) 
 
    Others may be recognized. 
 
Special notes: 
 
For SGI (--with-arch=IRIX) multiprocessors running the ch_p4 device, use 
-comm=ch_p4 to disable the use of the shared-memory p4 communication 
device, and -comm=shared to enable the shared-memory p4 communication 
device.  The default is to enable the shared-memory communication device. 
 

height 1pt



Up: Contents Next: Mpirun Usage Previous: File Manifest