py-h5py port issues with HDF5 version

Thomas Robitaille thomas.robitaille at gmail.com
Tue May 15 06:26:44 PDT 2012


Hi,

The py-h5py port depends on the hdf5-18 port. The hdf5-18 port was
recently updated to 1.8.9, but h5py, when compiled, remembers what
version of HDF5 it was compiled with, and raises a big error if there
is a version mismatch (causing an abort trap):

---

Warning! ***HDF5 library version mismatched error***
The HDF5 header files used to compile this application do not match
the version used by the HDF5 library to which this application is linked.
Data corruption or segmentation faults may occur if the application continues.
This can happen when an application was compiled by one version of HDF5 but
linked with a different version of static or shared HDF5 library.
You should recompile the application or check your shared library related
settings such as 'LD_LIBRARY_PATH'.
You can, at your own risk, disable this warning by setting the environment
variable 'HDF5_DISABLE_VERSION_CHECK' to a value of '1'.
Setting it to 2 or higher will suppress the warning messages totally.
Headers are 1.8.8, library is 1.8.9

---

The easy solution is to do as instructed and set:

export HDF5_DISABLE_VERSION_CHECK=2

But since this will throw a big scary error at users and crash, I
think there should be a better way to deal with this. I tried
uninstalling and re-installing h5py, which used to work, but now that
we have binary packages, this no longer works because the pre-built
version was compiled against 1.8.8. Is there a way to have the
pre-built binary depend on the version of hdf5-18?

Cheers,
Tom


More information about the macports-dev mailing list