Hello HDF5ers,
Some bad news for you today!
In HDF5 1.10.1, H5Fpublic.h:
/* Library's file format versions */
typedef enum H5F_libver_t {
H5F_LIBVER_EARLIEST, /* Use the earliest possible format for storing objects */
H5F_LIBVER_LATEST /* Use the latest possible format available for storing objects*/
} H5F_libver_t;
H5F_LIBVER_LATEST
is 1
.
In HDF5 1.10.2, H5Fpublic.h:
/* Library's format versions */
typedef enum H5F_libver_t {
H5F_LIBVER_ERROR = -1,
H5F_LIBVER_EARLIEST = 0, /* Use the earliest possible format for storing objects */
H5F_LIBVER_V18 = 1, /* Use the latest v18 format for storing objects */
H5F_LIBVER_V110 = 2, /* Use the latest v10 format for storing objects */
H5F_LIBVER_NBOUNDS
} H5F_libver_t;
#define H5F_LIBVER_LATEST H5F_LIBVER_V110
H5F_LIBVER_LATEST
is 2
.
1
is H5F_LIBVER_V18
.
A call to H5Pset_libver_bounds with H5F_LIBVER_EARLIEST, H5F_LIBVER_LATEST
in a program built against HDF5 1.10.1 and executed against HDF5 1.10.5 is effectively understood as H5F_LIBVER_EARLIEST, H5F_LIBVER_V18
, which will lead to errors (e.g. itâs not possible to copy latest-format objects into such file).
Please:
- Submit a JIRA item.
- Consider ways to fix it in a hot-patch release.
Maybe there is some way of elegant work-around?
Best wishes,
Andrey Paramonov