Your message dated Mon, 28 Jan 2013 13:26:12 +0100
with message-id <20130128122612.gb10...@crater2.logilab.fr>
and subject line Re: Bug#699155: hdf5: dependencies can be satisfied
interchangeably with libraries providing different ABIs
has caused the Debian Bug report #699155,
regarding hdf5: dependencies can be satisfied interchangeably with libraries
providing different ABIs
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)
--
699155: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=699155
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: src:hdf5
Version: 1.8.8-9
Severity: serious
In Squeeze there are two virtual packages libhdf5-1.8 and libhdf5-1.8.4, that
allow to install either libhdf5-serial-1.8.4, libhdf5-openmpi-1.8.4,
libhdf5-mpich-1.8.4 or libhdf5-lam-1.8.4 to satisfy the dependency on
libhdf5-1.8.4. (Usually packages are depending on: libhdf5-serial-1.8.4 |
libhdf5-1.8.4)
In Wheezy those libraries are not longer ABI compatible, therefore
the serial version was renamed libhdf5-7 and also the packages of the others
versions, for example libhdf5-openmpi-7, has a provides line:
Provides: libhdf5-1.8, libhdf5-7
So you can install for example, r-cran-hdf5 and it will install by default
the serial version (libhdf5-7), but you can also install it at the
same time than libhdf5-openmpi-7 (or you might have it installed already)
and then you will get it installed with the openMPI version despite being built
against the serial version, that as said isn't ABI compatible.
Some packages, such as slepc, have their build dependencies explicitly against
the openMPI version and those are OK.
Due the ABI incompatibility we can not longer use the same scheme than in
Squeeze, but I think having the serial version named libhdf5-7 is confusing.
Possible solutions... given the proximity of the release I'm aware some of
them might not be possible but I'm listing everything for the sake of
completeness, don't jump in your chair when reading some of the possibilities
listed :-)
a) Have libhdf5-7 renamed back with the *serial* label (libhdf5-serial-1.8.4)
and also the -dev packages. Then have the packages using hdf5 depending on
the supported implementation(s), that is if they support several implementation
provide a binary for implementation: r-cran-hdf5-serial r-cran-hdf5-openMPI
b) Switch all the packages to use only one of the implementation except
those that only work in of the implementations, depending explicitly in
*-serial-* or *-openmpi-* (or mpich in those archs that don't support
openMPI).
b.1) make this implementation by default to be the serial version
b.2) make this implementation by default to be the openMPI version. Which
doesn't
sound like a crazy idea if you look at the popcon [1] and think the context
hdf5 is widely used (supercomputing).
c) Remove the provides from libhdf5-openmpi-7 and libhdf5-mpich-7 and keep
the status quo. You either install libhdf5-openmpi-7 with the packages
needing this implementation or you install libhdf5-7 with the packages
depending on this one. If you go to decide for the openmpi version
and you need a package only built for the serial version, you would
need to rebuild it.
(This is somehow a variation of b.1) because all the stuff is built against
the serial version unless the maintainer explicitily puts the openmpi one )
d) ? :)
In any case, how to switch or handle the different implementation would be nice
to have documented in a README file.
Ana
[1] http://qa.debian.org/popcon.php?package=hdf5
If you look at the amout of installations of libhdf5-openmpi-dev installations
it is the same that libhdf5-dev and growing faster.
As curiosity note: after the rename of the serial version to be the *default*
version was uploaded to unstable around January 2012, you can see libhdf5-7
rocketed in the popcon graph.
--- End Message ---
--- Begin Message ---
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.
> 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?
> The problem with the upgrades still stands.
>
What problem with the upgrades?
Cheers,
Julien
--
Julien Cristau <julien.cris...@logilab.fr>
Logilab http://www.logilab.fr/
Informatique scientifique & gestion de connaissances
--- End Message ---