Next: Getting and applying patches Up: A. Installation of MOLPRO Previous: A..1 Obtaining the distribution

A..2 Installation from source files

The distribution of MOLPRO consists of a base compressed tar archive with a file name of the form molpro.2000.4 .tar.gz, together, possibly, with one or more module archives with file names of the form molpro.module.2000.4 .tar.gz. The modules contain code which is not generally distributed, or features which are not always required to install the code. Examples of the former include the program developers' kit (module=develop), code for massively-parallel processors (module=mpp), integral-direct functionality (module=direct), and the local correlation methods (module=local); examples of the latter include the documentation (module=doc) and the benchmark suite (module=bench). The archives can be unpacked using gunzip and tar. It is essential that the base archive is unpacked first, and advisable that any modules are unpacked before further installation.

There may also be a number of patch files available and recommended for use. After unpacking the distribution and any modules, all currently-available patches should be applied as described later. Note that patches can be applied or removed before or after initial installation, but it is usually advisable to patch first. All module files should be unpacked before any patches are applied, otherwise chaos will result.

Having set up the distribution in this way, identify the root directory which was created (normally molpro2000.4 ). In the following description, all directories are given relative to this root. Having changed to the root directory, you should check that the directory containg the fortran compiler you want to use is in your PATH (see special notes below for Linux!). Then run the command

./configure

which creates the files CONFIG and CONFIG_FRONT. These files contain machine-dependent parameters, such as compiler options. CONFIG_FRONT is normally identical to CONFIG, but in cross-compilation situations (e.g., Cray T3D) CONFIG_FRONT contains the parameters appropriate for the front-end machine. Normally CONFIG will not need changing, but you should at the least examine it, and change any configuration parameters which you deem necessary. For further information, see any comments in the CONFIG file.

The configure procedure may be given command line options, and, normally, additionally prompts for a number of parameters:

(a)
On certain machines it is possible to compile the program to use either 32 or 64 bit integers, and in this case configure may be given a command-line option -i4 or -i8 respectively to override the default behaviour. Generally, the 64-bit choice allows larger calculations (files larger than 2Gb, more than 16 active orbitals), but can be slower if the underlying hardware does not support 64-bit integers (e.g., some IBM RS6000 hardware).

(b)
On some platforms, it is possible to specify a choice of alternative compilers, in most cases choosing between a Fortran 77 compiler (-f77 option) or Fortran 90 (-f90). The implications of this choice on several platforms are described below.

(c)
If any system libraries are in unusual places, it may be necessary to specify them explicitly as the arguments to a -L command-line option.

(d)
configure prompts for the licence key, which is required for execution of the program. You can normally get the key sent to you by email by following the appropriate link at http://www.tc.bham.ac.uk/molpro/distrib/. The key may also be given using the -k option on the command line. Note that the key consists of two components, namely a list of comma-separated key=value pairs, and a password string, and these are separated by `&'. The whole key needs to be inserted in its entirety.

(e)
configure asks whether you wish to use system BLAS and LAPACK subroutine libraries. MOLPRO has its own optimized fortran version of these libraries, and this can safely be used. On some machines, however, it will be advantageous to use a system-tuned version instead. In the case of BLAS, you should enter a number between 1, 2 and 3; if, for example, you specify 2, the system libraries will be used for level 2 and level 1 BLAS, but MOLPRO's internal routines will be used for level 3 (i.e., matrix-matrix multiplication). In either case, you will be prompted to enter appropriate linker options (e.g. -L/usr/lib -lblas) to access the libraries. It is generally recommended that system BLAS be used if available, but on some workstations, MOLPRO's internal matrix routines give comparable performance to system-supplied libraries.

A special situation arises if 64-bit integers are in use (-i8), since on many platforms the system BLAS and LAPACK libraries only supports 32-bit integer arguments. In such cases (e.g., HP, IBM, SGI, SUN) either 0 or 4 can be given for the blas level. BLAS=0 should always work and means that the MOLPRO Fortran BLAS routines are used. On some platforms (IBM, SGI, SUN) BLAS=4 will give better performance; in this case some 32-bit blas routines be used from the system library (these are then called from wrapper routines, which convert 64 to 32-bit integer arguments). No system LAPACK Library must be used together with BLAS=4.

Note: BLAS=4 does presently not work under HP-UX 11.0 (compiler problem!)

(f)
configure prompts for the destination directory for final installation of the MOLPRO executable. This directory should be one normally in the PATH of all users who will access MOLPRO, and its specification will depend on whether the installation is private or public.

(g)
configure prompts for the destination directory for installation of ancillary files which are required for program execution.

(h)
configure prompts for the destination directory for documentation. This should normally be a directory that is mounted on a worldwide web server.

(i)
configure prompts for the destination directory for the CGI scripts that control the delivery of documentation. This might be the same directory as (h), but some web servers require a particular special directory to be used.

The latter two parameters are relevant only if the documentation is also going to be installed from this directory (see below).

The following command-line options are recognized by configure.

-batch
disables the prompting described above.

-k key
specifies the licence key.

-i8 | -i4
forces the use of 8- or 4-byte integers respectively.

-f77 | -f90
controls choice of compiler (see above).

-L lib
specifies any additional directories containing system libraries to be scanned at link time.

-blas 0|1|2|3|4
specifies system blas level, as described above.

-mpp | -nompp
controls whether compilation is to be for MPP parallelism (see below).

-f ftcflag
adds a token to the specifiers for the fortran preprocessor ftc.

After configuration, the remainder of the installation is accomplished using the unix make command. The makefiles have been constructed as far as possible to work correctly with make on all supported architectures. However, in case of difficulties, the freely available GNU make can be used. On Digital Unix systems, GNU make is required. Everything needed to make a functioning program together with all ancillary files is carried out by default. The program can then be accessed by making sure the bin/ directory is included in the PATH and issuing the command molpro. You will probably want to review the contents of the file bin/molpro.rc, paying particular attention to the destinations of permanent files, and the choice of scratch directories.

At this stage, it is essential to check that the program has compiled correctly. The makefile target test (i.e., command make test) will do this using the full suite of test jobs, and although this takes a significantly long time, it should always be done when porting for the first time. A much faster test, which checks the main routes through the program, can be done using make quicktest.

Although the program can be used in situ, it is usually convenient to copy only those files needed at run time into appropriate installation directories; the complete source tree can then be archived and deleted. To install the program in this way, do make install.

When the program has been verified and/or installed, the command make clean can be used to remove compilation logs. make veryclean will remove all binary and object files, retaining only those files included in the original distribution; it is usually recommended that this is not done, as it implies that to apply future updates and bug fixes, the whole program will have to be recompiled.



Subsections

Next: Getting and applying patches Up: A. Installation of MOLPRO Previous: A..1 Obtaining the distribution

P.J. Knowles and H.-J. Werner
molpro-support@tc.bham.ac.uk
Mar 8, 2000