Bug#699155: hdf5: dependencies can be satisfied interchangeably with libraries providing different ABIs

Ana Guerrero ana at debian.org
Tue Jan 29 09:20:20 UTC 2013


On Mon, Jan 28, 2013 at 05:00:29PM +0100, Julien Cristau wrote:
> On Mon, Jan 28, 2013 at 16:55:47 +0100, Ana Guerrero wrote:
> 
> > > On Mon, Jan 28, 2013 at 13:03:02 +0100, Ana Guerrero wrote:
> > > 
> > > > On Mon, Jan 28, 2013 at 12:26:18PM +0100, Julien Cristau wrote:
> > > > > On Mon, Jan 28, 2013 at 12:20:36 +0100, Ana Guerrero wrote:
> > > > > 
> > > > > > On Mon, Jan 28, 2013 at 11:37:31AM +0100, Julien Cristau wrote:
> > > > > > > do you have pointers/details about that ABI incompatibility?  I'm pretty
> > > > > > > sure I looked through exported symbols and headers from hdf5 a year ago,
> > > > > > > and didn't see anything that would break when building against the
> > > > > > > serial version and running against openmpi, but I may have missed
> > > > > > > something.
> > > > > > 
> > > > > > I didn't check further than the attached diff, there are mostly symbols
> > > > > > being added in the openMPI version but also some symbols dissapearing.
> > > > > > 
> > > > > OK.  So you didn't get any runtime issues with this?
> > > > >
> > > > I haven't tried :) I only checked the symbols diff quickly as said.
> > > > 
> > > Alright, closing.
> > 
> > Fine, I can fix my issues locally without too much pain, but other
> 
> Which issues?
> 

Now you showed they seem to be ABI compatible, giving the possibility to users 
of installing the flavour they want would be nice to have. I checked more
and I was thinking about to change the symbols files of libhdf5-$flavour-7 to 
depend on  "libhdf5-7 | libhdf5-openmpi-7 | libhdf5-mpich2-7" to match 
the shlibs file, rebuild the packages and I expect that allow again to 
switch between implementation.

The *untested* patch would be:

diff -Nru hdf5-1.8.8/debian/libhdf5-7.symbols hdf5-1.8.8/debian/libhdf5-7.symbols
--- hdf5-1.8.8/debian/libhdf5-7.symbols	2012-02-24 11:15:58.000000000 +0100
+++ hdf5-1.8.8/debian/libhdf5-7.symbols	2013-01-28 17:32:49.000000000 +0100
@@ -1,4 +1,4 @@
-libhdf5.so.7 libhdf5-7
+libhdf5.so.7 libhdf5-7 | libhdf5-openmpi-7 | libhdf5-mpich2-7
 | libhdf5-private
  H5AC_BT2_HDR at Base 1.8.7
  H5AC_BT2_INT at Base 1.8.7
diff -Nru hdf5-1.8.8/debian/libhdf5-mpich2-7.symbols hdf5-1.8.8/debian/libhdf5-mpich2-7.symbols
--- hdf5-1.8.8/debian/libhdf5-mpich2-7.symbols	2012-01-31 15:02:05.000000000 +0100
+++ hdf5-1.8.8/debian/libhdf5-mpich2-7.symbols	2013-01-28 17:32:54.000000000 +0100
@@ -1,4 +1,4 @@
-libhdf5.so.7 libhdf5-mpich2-7 #MINVER#
+libhdf5.so.7 libhdf5-7 | libhdf5-openmpi-7 | libhdf5-mpich2-7
  H5AC_BT2_HDR at Base 1.8.7
  H5AC_BT2_INT at Base 1.8.7
  H5AC_BT2_LEAF at Base 1.8.7
diff -Nru hdf5-1.8.8/debian/libhdf5-openmpi-7.symbols hdf5-1.8.8/debian/libhdf5-openmpi-7.symbols
--- hdf5-1.8.8/debian/libhdf5-openmpi-7.symbols	2012-01-18 15:10:07.000000000 +0100
+++ hdf5-1.8.8/debian/libhdf5-openmpi-7.symbols	2013-01-28 17:33:01.000000000 +0100
@@ -1,4 +1,4 @@
-libhdf5.so.7 libhdf5-openmpi-7 #MINVER#
+libhdf5.so.7 libhdf5-7 | libhdf5-openmpi-7 | libhdf5-mpich2-7
  H5AC_BT2_HDR at Base 1.8.7
  H5AC_BT2_INT at Base 1.8.7
  H5AC_BT2_LEAF at Base 1.8.7

If this works fine, togerther with solving the upgrade problems from #667526 
would make live much easier for hdf5 users in Wheezy.
If you think there is a possibility to have this in Debian I have not issue
testing it deeply and looking how many packages are involved before pushing it.

> > people could find the rename confusing as I did. Given that going to the
> > back to the scheme used in Squeeze as I pointed:
> > 
> > > > If you're fully sure we won't run in any runtime problems, then why
> > > > hdf5 doesn't use the same scheme than in Squeeze?
> > 
> > is *not* a solution at this stage. Could we have this bug as a wishlist
> > asking to add documentantion about this?
> > hdf5 needs another update for the bug pointed below and adding a README.Debian
> > with this information won't hurt.
> > 
> I don't know what you find confusing...  I also don't know what the
> scheme was in squeeze, or why it was changed, I only got involved after
> the fact to make the current scheme work after it was already mostly
> switched.
>
More or less stuff happened in this order for me:
1) Oh, the upgrade is making some packages using hdf5 impossible to install 
together, this worked in Squeeze.Hoow is so?
2) Oh, the serial version has been renamed. why?
3) Oh, it is always upgrading to the serial version. how is so?
(here I discovered #566541 and then sylvestre told about the ABI incompatibility)
4) Oh, and there are two bugs in the BTS about some problems with hdf5
when upgrading.
5) Oh, they are not ABI compatible but some packages only work with the
openMPI version while all of them work with the serial version.
...
And then the current bug report.

I think those were enough "oh" to deserve some documentation in
the README.Debian, I don't expect being the only person wondering why the
behaviour has changed from Squeeze to Wheezy.

Ana



More information about the Pkg-grass-devel mailing list