Skip to content

Configuring with an HDF5 version higher than 1.8.22 #10

@kevin27luedemann

Description

@kevin27luedemann

Hi,
I have been trying to compile this program on an Ubuntu 20.4 LTS system with different versions of HDF5 and only the version 1.8.22 configures and compiles correctly.
My system has these versions:

  • kernel 5.4.0-89
  • regular desktop computer with an intel i7-7700K Processor
  • gcc version is 9.3.0-17 with gfortran at the same version.
  • MPICH of version 4.0.3.
  • libblas and liblapack in version 3.9.0

I have compiled HDF5 in all three different versions (1.8.22, 1.10.7 and 1.12.1) from source with these configuration flags
./configure --enable-parallel --enable-fortran --enable-shared
and all Versions configured correctly. I used make and make install to create the libraries, binaries and include folders.

Afterwards I used the configure script of the AFiD program with one additional compiler flag
--with-hdf5=
listing the folder of the different HDF5 versions for example (version 1.12.1):
./configure --with-hdf5=/opt/hdf5/hdf5-1.12.1/hdf5
The result is that the configuration stops at the check for the parallel HDF5 library. The error found in config.log is

configure:6404: mpif90 -o conftest -I/opt/hdf5/hdf5-1.12.1/hdf5/include -L/opt/hdf5/hdf5-1.12.1/hdf5/lib conftest.f90 -lhdf5_fortran -lhdf5  -lz -ldl -lm  >&5 
conftest.f90:9:61:

    9 |       call h5pset_fapl_mpio_f(classtype,comm,plist_id,hdferr)
      |                                                             1
Error: Type mismatch in argument 'prp_id' at (1); passed INTEGER(4) to INTEGER(8)
configure:6404: $? = 1 
configure: failed program was:
| 
|       program conftest
|       use hdf5
|       implicit none
|       integer         :: classtype
|       integer         :: comm
|       integer (hid_t) :: plist_id
|       integer         :: hdferr
|       call h5pset_fapl_mpio_f(classtype,comm,plist_id,hdferr)
|       end
configure:6407: error: Unable to find hdf5 Fortran library with parallel I/O 

I have attached the full log file.
config.log

This error only occurs for HDF5 versions 1.10.7 and 1.12.1.
As far as I can see, this is only a compiler problem in the program used to test the HDF5 capabilities and not the program itself.
From my point of view, there is no need to change anything, just update the README to include the versions needed to compile the program (HDF5 version 1.8.22).
Newer HDF5 versions have some benefits in performance and storage but if these are not required than there is no need to change the software.

Thank you for this open source program.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions