H5Z_class_t changed/broken in 1.8.3

Hi Andrew,

Yes, PyTables was also affected. You can find a fix and a (simple)
explanation at:

http://www.pytables.org/trac/ticket/225

HTH,

A Friday 08 May 2009, Andrew Collette escrigué:

···

Hi,

Under HDF5 1.8.3 my custom compression filter stopped working. The
reason seems to be that the definition of the H5Z_class_t struct has
changed (again). There are now two versions (H5Z_class2_t and
H5Z_class1_t) in H5Zpublic.h. Is this component now affected by the
compatibility macro system? I'm a little surprised that a change
like that would show up in a point release... I currently have code
in my filter module that detects whether HDF5 1.6 or 1.8 is
installed, but since I compile with H5_USE_16_API this is now broken.
I would expect this also affects projects like PyTables which use
similar detection logic.

Thanks,
Andrew Collette

---------------------------------------------------------------------
- This mailing list is for HDF software users discussion.
To subscribe to this list, send a message to
hdf-forum-subscribe@hdfgroup.org. To unsubscribe, send a message to
hdf-forum-unsubscribe@hdfgroup.org.

--
Francesc Alted

"One would expect people to feel threatened by the 'giant
brains or machines that think'. In fact, the frightening
computer becomes less frightening if it is used only to
simulate a familiar noncomputer."

-- Edsger W. Dykstra
   "On the cruelty of really teaching computer science"

----------------------------------------------------------------------
This mailing list is for HDF software users discussion.
To subscribe to this list, send a message to hdf-forum-subscribe@hdfgroup.org.
To unsubscribe, send a message to hdf-forum-unsubscribe@hdfgroup.org.

Hi Andrew,

Yes, PyTables was also affected. You can find a fix and a (simple)
explanation at:

http://www.pytables.org/trac/ticket/225

Thanks to both of you! I will fix this in h5py.

Andrew

···

----------------------------------------------------------------------
This mailing list is for HDF software users discussion.
To subscribe to this list, send a message to hdf-forum-subscribe@hdfgroup.org.
To unsubscribe, send a message to hdf-forum-unsubscribe@hdfgroup.org.

Andrew,

H5Z_class_t is indeed now affected by the compatibility macro system. This was done to make it easier for people to move from the 1.6 API to the 1.8 API, as there should no longer be any changes necessary to the code. A quick way to fix this is to "#define H5Z_class_t_vers 2" before including hdf5.h. If compatibility with 1.8.0-1.8.2 is not an issue, you can simply remove the code that previously filled in the 1.8 version of the struct (assuming you always use H5_USE_16_API).

Sorry for the inconvenience,
-Neil

Andrew Collette wrote:

···

Hi,

Under HDF5 1.8.3 my custom compression filter stopped working. The
reason seems to be that the definition of the H5Z_class_t struct has
changed (again). There are now two versions (H5Z_class2_t and
H5Z_class1_t) in H5Zpublic.h. Is this component now affected by the
compatibility macro system? I'm a little surprised that a change like
that would show up in a point release... I currently have code in my
filter module that detects whether HDF5 1.6 or 1.8 is installed, but
since I compile with H5_USE_16_API this is now broken. I would expect
this also affects projects like PyTables which use similar detection
logic.

Thanks,
Andrew Collette

----------------------------------------------------------------------
This mailing list is for HDF software users discussion.
To subscribe to this list, send a message to hdf-forum-subscribe@hdfgroup.org.
To unsubscribe, send a message to hdf-forum-unsubscribe@hdfgroup.org.
  
----------------------------------------------------------------------
This mailing list is for HDF software users discussion.
To subscribe to this list, send a message to hdf-forum-subscribe@hdfgroup.org.
To unsubscribe, send a message to hdf-forum-unsubscribe@hdfgroup.org.