Created attachment 766 [details] Patch to fix the issue Currently, HDF5_INCLUDE_DIRS is not respected by Geant4, which causes a build failure on Debian. This might not have noticed since the headers might live in /usr/include on some distros. However in Debian, HDF5 headers are located in an other directory that depends on if HDF5 is used with MPI support or not (i.e. /usr/include/hdf5/serial/hdf5.h and /usr/include/hdf5/openmpi/hdf5.h). The underlying problem here is that G4tools does not respect properties of its dependencies at all. This can be fixed in two ways: either properly link HDF5 in G4tools, or do it where G4tools is used. Since it seems that is not wanted to make G4tools a proper module (it e.g. also misses linking for FreeType), I attached a patch to fix this in G4analysis/G4hdf5.
HDF5_LIBRARIES is now just the `hdf5::hdf5` imported target, which is created, if CMake's `FindHDF` module does not, in `G4HDF5Shim.cmake`. That should only require the `HDF5_C_INCLUDE_DIRS` variable, so could you check on the Debian build if: - The CMake version creates the `hdf5::hdf5` imported target - What the `INTERFACE_INCLUDE_DIRECTORIES` property of the `hdf5::hdf5` target are (whether or not CMake or Geant4 create it In any case, if a patch is needed, it should go in `G4HDF5Shim.cmake` to make the imported target work correctly.