Skip to content

compilation of HDF5+QE on thor. #6

@mikibonacci

Description

@mikibonacci

The following explains how to compile QE with HDF5 linked.

HDF5 compilation

To compile:

source  /mnt/home/software/qe/7.3-ioapi/source.sh # load mpi and other modules
https://github.com/HDFGroup/hdf5.git # clone the repo
cd hdf5 # go in
git checkout hdf5_1.14.5 # checkout to a given version
./configure FC=mpiifort --enable-fortran --enable-fortran2003 --enable-parallel --prefix /mnt/home/bonacc_m/codes/hdf5/hdf5 --enable-shared # configure to have also a given folder with lib, include, bin
make install -j4

What is important, is that the compiler of HDF5 and QE is the same.
Check that the folders lib, bin and include folders are indeed in what you put as the --prefix (in the above case:/mnt/home/bonacc_m/codes/hdf5/hdf5).

To have the hdf5 compilations accessible globally:

export HDF5_HOME=/mnt/home/bonacc_m/codes/hdf5/hdf5
export PATH=$HDF5_HOME/bin:$PATH
export LD_LIBRARY_PATH=$HDF5_HOME/lib:$LD_LIBRARY_PATH
export CPATH=$HDF5_HOME/include:$CPATH

QE compilation

git clone https://gitlab.com/QEF/q-e.git
cd q-e
source  /mnt/home/software/qe/7.3-ioapi/source.sh
git checkout qe-7.4.1
./install/makedeps.sh
./install/configure MPIF90=mpiifort  --with-hdf5=yes

please check that the HDF5 libs are detected:

[bonacc_m@lms-login q-e-hdf5]$ grep HDF5_LIBS config.log 
hdf5_line='HDF5_LIBS=-L/mnt/home/bonacc_m/codes/hdf5/hdf5/lib /mnt/home/bonacc_m/codes/hdf5/hdf5/lib/libhdf5hl_fortran.a /mnt/home/bonacc_m/codes/hdf5/hdf5/lib/libhdf5_hl.a /mnt/home/bonacc_m/codes/hdf5/hdf5/lib/libhdf5_fortran.a /mnt/home/bonacc_m/codes/hdf5/hdf5/lib/libhdf5.a -lz -ldl -lm'

which contains part of the info you can print by running h5pfc -show.

Then you can proceed with the compilation:

make pw # or whatever you want to compile

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions