Skip to content

[BUG]: Cmake variable change - HDF5_PROVIDES_PARALLEL #4035

@iicurtis

Description

@iicurtis

Summarize the issue

I am having a build issue with the current v0.10.post5 where HDF5 is detected but mistakenly identified as a serial package, despite MPI features working. After some debugging, I discovered that some minimal modifications to include additional variable checks in the cmakelists files works.

Upstream, the HDF5 group changed the cmake variable names causing build failures with the recently released HDF5 v2. In the CmakeLists.txt build definitions, HDF5_IS_PARALLEL has been renamed:

What this means is if you have in your CMake build a check, for example, if (NOT (HDF5_IS_PARALLEL OR HDF5_ENABLE_PARALLEL)), you would want to add if (NOT (HDF5_IS_PARALLEL OR HDF5_ENABLE_PARALLEL OR HDF5_PROVIDES_PARALLEL))

HDFGroup/hdf5#6019

How to reproduce the bug

Build fails on arch linux with hdf5-openmpi:

Found HDF5 at /usr/lib/cmake/hdf5 via NO_MODULE. Now trying to extract locations etc.
-- Trying to get properties of target hdf5-shared
-- Found imported configurations: NONE
-- Start search through imported configurations in the following order: RELWITHDEBINFO;RELEASE;DEBUG;NONE
-- Selected imported configuration: NONE
-- Found HDF5: hdf5-shared (found version "2.0.0") found components: C
-- HDF5_DIR: /usr/lib/cmake/hdf5
-- HDF5_DEFINITIONS:
-- HDF5_INCLUDE_DIRS: /usr/include
-- HDF5_LIBRARIES: hdf5-shared
-- HDF5_HL_LIBRARIES:
-- HDF5_C_DEFINITIONS:
-- HDF5_C_INCLUDE_DIR:
-- HDF5_C_INCLUDE_DIRS: /usr/include
-- HDF5_C_LIBRARY: /usr/lib/libhdf5.so.320.0.0
-- HDF5_C_LIBRARIES: hdf5-shared
-- HDF5_C_HL_LIBRARY:
-- HDF5_C_HL_LIBRARIES:
-- Defined targets (if any):
-- ... hdf5::hdf5
-- ... hdf5-shared
-- ... hdf5_hl-shared
-- ... hdf5_cpp-shared
-- ... hdf5_hl_cpp-shared
-- ... hdf5_fortran-shared
-- ... hdf5_hl_fortran-shared
CMake Error at /home/user/.cache/paru/clone/dolfinx/src/tmp_install/usr/lib/cmake/dolfinx/DOLFINXConfig.cmake:105 (message):
  Found serial HDF5 build, MPI HDF5 build required

Version

0.10.0

DOLFINx git commit

No response

Installation

No response

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    buildBuild system and compiler issuesdependenciesPull requests that update a dependency file

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions