As the error message points out, you can set HDF5_DISABLE_VERSION_CHECK=1
(or 2) to make things run. As they say, don't blame them if it crashes.

There are plenty of reports out there (outside of MP) on this HDF5 feature.
As far as I can tell, the HDF5 group's position is that they are used for
storing critical data (output from experiments that you don't want to have
to "re-do"), so they don't ever want to be the cause of errors from
unintentional / unexpected behavior, even if the program can happily link.

It would be nice if we had some centralized way to handle this rather than
rev-bumping each dependent port, but that is where we are currently at. Is
it possible to have an hdf5 PortGroup where we could centrally bump an
epoch?

 - Eric

On Thu, Oct 13, 2016 at 10:32 AM, Ryan Schmidt <ryandes...@macports.org>
wrote:
>
>
> > On Oct 13, 2016, at 10:14 AM, Adam Dershowitz <de...@alum.mit.edu>
wrote:
> >
> > 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
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.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 problem.
>
> sudo port -ns upgrade --force py27-tables
>
> If that works, let us know so we can increase its revision.
>
>
> 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 their software.
>
>
> > So, I’m not sure where the bug actually is, what to do about it, or
what port to file a bug report against.
> > Any suggestions?
>
>
> _______________________________________________
> macports-users mailing list
> macports-users@lists.macosforge.org
> https://lists.macosforge.org/mailman/listinfo/macports-users
_______________________________________________
macports-users mailing list
macports-users@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-users

Reply via email to