From 72534a3ea9cff003c10c69b8a9a3520b9c511e84 Mon Sep 17 00:00:00 2001 From: kalle Date: Sun, 13 Nov 2016 19:10:12 +0100 Subject: [PATCH] runtime hdf5: Fix for HDF5 1.10 hid_t uint64_t --- darshan-runtime/configure.in | 7 +++++++ darshan-runtime/lib/darshan-hdf5.c | 15 ++++++++++----- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/darshan-runtime/configure.in b/darshan-runtime/configure.in index 76136c5..232b718 100644 --- a/darshan-runtime/configure.in +++ b/darshan-runtime/configure.in @@ -46,6 +46,13 @@ AC_ARG_ENABLE(group-readable-logs, fi] ,) +AC_ARG_ENABLE(HDF5_1.10, +[ --enable-HDF5_1.10 Compile for use with HDF5 1.10.x], +[if test "x$enableval" = "xyes" ; then + AC_DEFINE(__DARSHAN_ENABLE_HDF5110, 1, Set for compatibility with HDF5_1.10.x, breaks use with 1.8.x) +fi] +,) + AC_ARG_ENABLE( [bgq-mod], [ --disable-bgq-mod Disables compilation and use of BG/Q module (for BG/Q systems)], diff --git a/darshan-runtime/lib/darshan-hdf5.c b/darshan-runtime/lib/darshan-hdf5.c index f946e37..88ff3be 100644 --- a/darshan-runtime/lib/darshan-hdf5.c +++ b/darshan-runtime/lib/darshan-hdf5.c @@ -25,8 +25,13 @@ #include "darshan-dynamic.h" /* hope this doesn't change any time soon */ -typedef int hid_t; -typedef int herr_t; +typedef int herr_t; //hf5-1.10.0p1: H5public.h:126 + +#ifdef __DARSHAN_ENABLE_HDF5110 + typedef int64_t hid_t; //hf5-1.10.0p1: H5Ipublic.h:56 +#else + typedef int hid_t; +#endif DARSHAN_FORWARD_DECL(H5Fcreate, hid_t, (const char *filename, unsigned flags, hid_t create_plist, hid_t access_plist)); DARSHAN_FORWARD_DECL(H5Fopen, hid_t, (const char *filename, unsigned flags, hid_t access_plist)); @@ -112,7 +117,7 @@ static int my_rank = -1; hid_t DARSHAN_DECL(H5Fcreate)(const char *filename, unsigned flags, hid_t create_plist, hid_t access_plist) { - int ret; + hid_t ret; char* tmp; double tm1; @@ -143,7 +148,7 @@ hid_t DARSHAN_DECL(H5Fcreate)(const char *filename, unsigned flags, hid_t DARSHAN_DECL(H5Fopen)(const char *filename, unsigned flags, hid_t access_plist) { - int ret; + hid_t ret; char* tmp; double tm1; @@ -175,7 +180,7 @@ hid_t DARSHAN_DECL(H5Fopen)(const char *filename, unsigned flags, herr_t DARSHAN_DECL(H5Fclose)(hid_t file_id) { struct hdf5_file_record_ref *rec_ref; - int ret; + herr_t ret; MAP_OR_FAIL(H5Fclose); -- 1.8.2.3