kiyo-masui / bitshuffle

Filter for improving compression of typed binary data.
Other
220 stars 76 forks source link

Fix `lzf_filter` compatibility with HDF5 > 1.8 #155

Closed ljgray closed 2 months ago

ljgray commented 3 months ago

Fixes a long-standing issue which only became obvious with recent compiler updates (see kiyo-masui/bitshuffle#153).

Changes to the structure of H5Z_class_t were made in HDF5 versions 1.6, 1.8, and 1.8.3. The logic for selecting which class version to use in lzf_filter.c assumed the old class by default and only used the new class for HDF5 version 1.8.x. Based on kiyo-masui/bitshuffle#153, it seems that some compilers recently started treating warnings generated by this old class structure as errors, causing bitshuffle to fail to build.

This PR also updates python versions used in CI main (python 3.8 will reach end of life soon) and tests wheels for the most recent version of HDF5.

Fixes

kiyo-masui/bitshuffle#153