We were almost out of version issues, until the latest selfupdate yesterday
The problem is that the netcdf-C library
(/opt/local/lib/libnetcdf.dylib) is now trying to dynamically link to
the HDF5 1.10 library in /opt/local/lib. It should instead be linking
to the HDF5 1.8.x library in /opt/local/lib/hdf5-18/lib
The port info for netcdf states the dependency is hdf5-18 ?
mac56:~/fortran/simple-examples/nc-ex 14> port info netcdf
netcdf @4.4.1_2 (science)
Variants: clang33, clang34, clang35, clang36, clang37,
clang38, clang39, [+]dap, debug, dragonegg33, dragonegg34, gcc44, gcc45,
gcc46, gcc47, gcc48, gcc49, gcc5, gcc6, gcc7, hdf4, llvm,
mpich, mpich_devel, [+]netcdf4, openmpi,
Description: NetCDF (network Common Data Form) is a set of
software libraries and machine-independent data formats that support the
creation, access, and sharing of array-oriented scientific
Build Dependencies: cmake
Library Dependencies: hdf5-18, curl
Maintainers: take...@macports.org, openmaintai...@macports.org
On 10/18/16 07:48, Adam Dershowitz wrote:
On Oct 13, 2016, at 11:32 AM, Ryan Schmidt <ryandes...@macports.org
On Oct 13, 2016, at 10:14 AM, Adam Dershowitz <de...@alum.mit.edu
I just updated hdf5 and hdf5-18:
hdf5 1.10.0_1 < 1.10.0-patch1_0
hdf5-18 1.8.16_6 < 1.8.17_0
Now when I try to use pandas to open an HDF5 file I get this error:
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
Data corruption or segmentation faults may occur if the application
This can happen when an application was compiled by one version of
linked with a different version of static or shared HDF5 library.
You should recompile the application or check your shared library
settings such as 'LD_LIBRARY_PATH'.
You can, at your own risk, disable this warning by setting the
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.16, library is 1.8.17
Sounds like whatever library generated that error (you mentioned
py27-pandas and py27-tables but I don't know) is being possibly
overzealous in its hdf5 version checking. Sounds like we should
increase the revision of whichever port is triggering this error, and
add a comment to the hdf5 port to remind us to do that every time the
version of hdf5 is increased.
It looks to me like py27-tables is the one that depends on hdf5-18,
so that's the one that probably needs to be rebuilt. py27-pandas only
depends on py27-tables and other python modules.
I tried uninstalling and reinstalling pandas and py27-tables, but
that didn’t help.
If you received a binary from our server, it would be a binary built
with the old version of hdf5. We need to increase that port's
revision to cause it to rebuild with the new version of hdf5.
You can try rebuilding from source on your system to identify the
sudo port -ns upgrade --force py27-tables
If that works, let us know so we can increase its revision.
Yes, forcing the rebuild of py27-tables seems to fix the problem.
Although, it was slightly more complicated because that rebuild
complained that py27-tables can’t be built with hdf5 active, so i had
to force deactivate that, then it built fine, and reactivated hdf5 after.
Looking a little further, I see that the "HDF5 library version
mismatched error" actually comes from the hdf5-18 (and hdf5) source
code. This makes me think that *any* port that uses hdf5-18 (or hdf5)
will encounter this problem, and they should all be revbumped any
time the version of hdf5-18 (or hdf5) is increased. This is a pain
and the developers of hdf5 should be contacted to explain this to
them, so that they can weigh in on why they are inflicting this pain
on us and what they can do to mitigate it in subsequent versions of
So, I’m not sure where the bug actually is, what to do about it, or
what port to file a bug report against.
macports-users mailing list
Boulder CO 80304
macports-users mailing list