Installing INTERPOS from source
--------------------------
If you obtained the source from git repository, i.e. not a prepared and
versioned release in a tarball, then you probably need to regenerate the
build scripts of Autotools:
$ module load Autotools # if needed
$ ./bootstrap # generate ./configure and friends.
This command runs autoconf, automake and friends in the correct order, after
which you are able to run the typical commands to configure the package for
your environment, build and install it:
$ ./configure
$ make
$ make install
The configure script will test for gfortran, ifort, pgfortran, and g95,
and choose whichever works first. To override this you can use the FC
variable, it will include some compiler-specific flags automatically:
$ ./configure FC=gfortran
$ ./configure FC=ifort
$ ./configure FC=pgfortran
$ ./configure FC=g95
Useful options to the ./configure script are (see ./configure --help)
--prefix=
install in (e.g. /usr/lib/libinterpos.so)
--fortranmoddir=
install Fortran .mod files in non-default .
--without-lapack disable detection of lapack/blas libs, use internal.
--with-lapack force detect common lapack libs, fail if none found.
--with-blas= use a certain to provide blas functions.
--with-lapack= use a certain to provide lapack functions.
--with-matlab detect matlab+mex command, enables build for matlab.
--with-matlab= use a matlab installed in .
--enable-tests enable compilation of tests, use 'make check' to check.
--enable-cwrapper enable compilation of C wrapper (for IDL).
TODO:
These options have no effect at this time:
--enable-examples-f90, --enable-examples-matlab, --enable-examples-python
--enable-modulefiles, --with-modulefilesdir=
Example WPCD style installation
-------------------------------
To install INTERPOS library conform the WPCD layout, using the ifort compiler,
as example:
Obtain source and setup autotools for a precise tagged version
$ git clone ssh://git@git.iter.org/lib/interpos.git
$ cd interpos
$ git checkout 8.5.3 # tag must exist
$ module load Autotools
$ ./bootstrap
The above is equivalent with untarring INTERPOS-8.5.3.tar.gz
Setup environment for intel's ifort and MKL
$ module load intel/2018a
$ # module load ifort/2018.1.163-GCC-6.4.0-2.28 # redundant, loaded by above
$ # module load imkl/2018.1.163-iimpi-2018a # redundant, loaded by above
Configure, be sure to modify this paths to some desired ROOT_LIB_PATH:
$ ./configure FC=ifort \
--prefix=$PWD/ROOT_LIB_PATH/INTERPOS/8.5.3-intel-2018a \
--with-lapack
Compile and install
$ make # make -j works too
$ make check # run test suite (optional)
$ make install
Test installation
$ find ROOT_LIB_PATH -xtype f # inspect layout
$ pkg-config --cflags --libs interpos # inspect existing config compile and link options
$ export PKG_CONFIG_PATH=ROOT_LIB_PATH/lib/pkgconfig:$PKG_CONFIG_PATH
$(for cshell) setenv PKG_CONFIG_PATH 'ROOT_LIB_PATH/lib/pkgconfig:'$PKG_CONFIG_PATH
$ pkg-config --cflags --libs interpos # inspect new compile and link options (new path in front)
Create modulefile for this installation...
In case bootstrap or configure or make;make instal does not succeed, you can compile manually using:
cd src/f90
more ../../attic/interpos_libs/Makefile # to find the target you want, for gfortran as above: interposgfortran
make -f ../../attic/interpos_libs/Makefile interposgfortran # creates include files and libraries in sub-folder gfortran_libs