1
Fork 0
mirror of https://https.git.savannah.gnu.org/git/guix.git/ synced 2025-07-12 18:10:47 +02:00
guix/gnu/packages/patches/fenics-dolfin-hdf5-version-check.patch
Paul Garlick 4b2f52e998
gnu:fenics-dolfin: Fix build with hdf5@1.14.
* gnu/packages/patches/fenics-dolfin-hdf5-version-check.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register new patch.
* gnu/packages/simulation.scm (fenics-dolfin): Run guix style.
[source]: Use new patch.
[arguments] <phases>: Update 'pre-check' comment.
Add 'demo_stokes-iterative_mpi' test to list of skipped tests.

Change-Id: I8ec4534d96af6726fcfd3a601d34b109d06c4ca6
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-06-28 16:33:42 +02:00

26 lines
987 B
Diff

This patch checks the HDF5 API version before selecting the appropriate H5O
function. A new function name and an extra argument are required for v1.12
and above.
See <https://support.hdfgroup.org/documentation/hdf5/latest/api-compat-macros.html> for the Technical Notes.
See <https://bitbucket.org/fenics-project/dolfin/commits/4201e172c88dc51eb8846cb350acbbe23c95246d> for the upstream fix.
--- a/dolfin/io/HDF5Interface.cpp
+++ b/dolfin/io/HDF5Interface.cpp
@@ -282,8 +282,13 @@
}
H5O_info_t object_info;
- H5Oget_info_by_name(hdf5_file_handle, group_name.c_str(), &object_info,
- lapl_id);
+ #if H5_VERSION_GE(1, 12, 0)
+ H5Oget_info_by_name3(hdf5_file_handle, group_name.c_str(), &object_info,
+ H5O_INFO_BASIC, lapl_id);
+ #else
+ H5Oget_info_by_name(hdf5_file_handle, group_name.c_str(), &object_info,
+ lapl_id);
+ #endif
// Close link access properties
status = H5Pclose(lapl_id);