Tips and tricks

First create a directory where you are going to store all you libraries. It is common to create this directory under /local/name_of_the_compiler. In my case I want to compile using Intel 13 compiler and therefore I will issue:

cd local
mkdir Intel13
  1. Install zlib
    Go on the Zlib website http://zlib.net/ and download the latest version and then untar it e.g.:
    wget http://zlib.net/zlib-1.2.8.tar.gz
    tar -xvf zlib-1.2.8.tar.gz

    Then go into the folder and issue:

    ./configure --prefix='/home/ucl/naps/sponce/local/Intel13'
    make 
    make install
  2. Install HDF5
    Go on the HDF5 website http://www.hdfgroup.org/HDF5/ and download it, e.g.:
    wget http://www.hdfgroup.org/ftp/HDF5/current/src/hdf5-1.8.11.tar
     tar -xvf hdf5-1.8.11.tar

    Then go into the folder and issue:

    ./configure --with-zlib=/home/ucl/naps/sponce/local/Intel13 --prefix=/home/ucl/naps/sponce/local/Intel13 --enable-fortran --enable-cxx
    make 
    make install
  3. Install netCDF4
    Go on the netcdf4 website http://www.unidata.ucar.edu/downloads/netcdf/netcdf-4_0/index.jsp and download it, e.g. :
    wget http://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-4.1.3.tar.gz
    tar -xvf netcdf-4.1.3.tar.gz

    Because the –with-hdf5= option does not work for necdf-4.1.3, you will need to export HDF5 location paths as follows:

    export CPPFLAGS=-I/home/ucl/naps/sponce/local/Intel13/include/
    export LDFLAGS=-L/home/ucl/naps/sponce/local/Intel13/lib
    export LD_LIBRARY_PATH=/home/ucl/naps/sponce/local/Intel13/lib
    export FC=ifort
    export CC=icc

Then issue:

./configure --enable-netcdf4 --prefix=/home/ucl/naps/sponce/local/Intel13  --enable-dap --enable-shared
make 
make install
  1. Install Abinit with netCDF4

Be careful if you have set flags into you .ac file. You should unset the variable first:

unset FC
unset CC

You should then add the following lines into your .ac configuration file:

with_netcdf_incs="-I/home/ucl/naps/sponce/local/Intel13/include"
with_netcdf_libs="-L/home/ucl/naps/sponce/local/Intel13/lib -lnetcdf -lnetcdff"
with_trio_flavor="netcdf+etsf_io"

For some mpi-io parallel I/O fancy stuff you may need to add the hdf5 explicitly

 
with_netcdf_incs="-I/home/ucl/naps/sponce/local/Intel13/include "
with_netcdf_libs="-L/home/ucl/naps/sponce/local/Intel13/lib -lnetcdf -lnetcdff -lhdf5_fortran -lhdf5_hl -lhdf5"
with_trio_flavor="netcdf+etsf_io"

Note that here all of the libraries have been put in the same lib and include directories for convenience (otherwise you need to add the corresponding -I<path>/include and -L<path>/lib statements)

Then you should make a build directory into Abinit and issue:

../configure --with-config-file='./name_of_your_ac_file.ac'
make mj4