Bug#667599: dolfin-dev: fails to upgrade from squeeze - apt does not find an upgrade path

Andreas Beckmann anbe at debian.org
Wed Feb 27 12:11:18 UTC 2013


On 2013-02-27 09:46, Ana Guerrero wrote:
> Bad news, it doesn't fully work. A couple of cases:
> 
> A) Minimal installation of Squeeze (actually a cowbuilder instance) where
> it's installed libhdf5-serial-1.8.4 and libhdf5-serial-dev. After the upgrade to
> wheezy, libhdf5-7 from Wheezy is installed  while libhdf5-serial-1.8.4 from 
> Squeeze is kept and the -dev package has been removed:
> 
> # dpkg -l | grep hdf5
> ii  hdf5-helpers                    1.8.8-9.1             amd64 Hierarchical Data Format 5 (HDF5) - Helper tools
> ii  libhdf5-7                       1.8.8-9.1             amd64 Hierarchical Data Format 5 (HDF5) - runtime files - serial version
> ii  libhdf5-serial-1.8.4            1.8.4-patch1-2        amd64 Hierarchical Data Format 5 (HDF5) - runtime files - serial version

 Starting 2
  Investigating (0) libhdf5-dev [ amd64 ] < none -> 1.8.8-9.0anbe1piuparts1hdf5.8 > ( libdevel )
  Broken libhdf5-dev:amd64 Conflicts on libjpeg62-dev [ amd64 ] < 6b1-1 -> 6b1-3 > ( oldlibs )
    Considering libjpeg62-dev:amd64 0 as a solution to libhdf5-dev:amd64 0
    Holding Back libhdf5-dev:amd64 rather than change libjpeg62-dev:amd64
  Investigating (0) libhdf5-serial-dev [ amd64 ] < 1.8.4-patch1-2 -> 1.8.8-9.0anbe1piuparts1hdf5.8 > ( libdevel )
  Broken libhdf5-serial-dev:amd64 Depends on libhdf5-dev [ amd64 ] < none -> 1.8.8-9.0anbe1piuparts1hdf5.8 > ( libdevel ) (= 1.8.8-9.0anbe1piuparts1hdf5.8)
    Considering libhdf5-dev:amd64 0 as a solution to libhdf5-serial-dev:amd64 0
    Holding Back libhdf5-serial-dev:amd64 rather than change libhdf5-dev:amd64
  Investigating (0) libjpeg8-dev [ amd64 ] < none -> 8d-1 > ( libdevel )
  Broken libjpeg8-dev:amd64 Conflicts on libjpeg62-dev [ amd64 ] < 6b1-1 -> 6b1-3 > ( oldlibs )
    Considering libjpeg62-dev:amd64 0 as a solution to libjpeg8-dev:amd64 -1
    Holding Back libjpeg8-dev:amd64 rather than change libjpeg62-dev:amd64
   Try to Re-Instate (1) libhdf5-serial-dev:amd64
  Investigating (1) libhdf5-serial-dev [ amd64 ] < 1.8.4-patch1-2 -> 1.8.8-9.0anbe1piuparts1hdf5.8 > ( libdevel )
  Broken libhdf5-serial-dev:amd64 Depends on libjpeg-dev [ amd64 ] < none > ( none )
    Considering libjpeg62-dev:amd64 0 as a solution to libhdf5-serial-dev:amd64 0
    Removing libhdf5-serial-dev:amd64 rather than change libjpeg-dev:amd64
  Done

There is a tie in the scoring between libjpeg62-dev and libhdf5-dev,
probably due to apt bug #699759, and apt breaks it in favor of the
wrong package :-(

Try adding Conflicts: libjpeg62-dev to libhdf5-serial-dev
Try adding Conflicts: libjpeg62-dev (<< 6b1-2) to libhdf5-7 and friends

but I'm afarid that won't help, as the scores are too low
the upgrade will probably work with not entirely minimal installations

The libjpeg-dev transition is a nasty thing to solve for apt ...
finally filed a bug about this (#701808) for an "easy" case not
involving hdf5.
Ideally hdf5 should not need to any Conflicts: libjpeg62-dev or similar.

> B) Minimal installation of Squeeze where it's installed
> libhdf5-openmpi-1.8.4 and r-cran-hdf5. After the upgrade to Wheezy,
> libhdf5-7 from Wheezy is installed (the serial version) while 
> hdf5-openmpi-1.8.4 from Squeeze is kept. r-cran-hdf5 is updated fine.
> 
> 
> # dpkg -l | grep hdf5
> ii  libhdf5-7                       1.8.8-9.1               amd64 Hierarchical Data Format 5 (HDF5) - runtime files - serial version
> ii  libhdf5-openmpi-1.8.4           1.8.4-patch1-2          amd64 Hierarchical Data Format 5 (HDF5) - runtime files - OpenMPI version
> ii  r-cran-hdf5                     1.6.10-1+b1             amd64        GNU R package interfacing the NCSA HDF5 library

Confirmed, but I'm afraid, this is a correct solution.

There is nothing that hints apt that the upgrade path of libhdf5-openmpi-1.8.4
should be libhdf5-openmpi-7.
You are switching from a set of packages that provide virtual:libhdf5-1.8.4 (or so)
to another set of packages providing virtual:libhdf5-7 (with probably a
preference of real:libhdf5-7 with no other indicators).

Having real metapackages libhdf5-serial, libhdf5-openmpi, libhdf5-mpich2
that depend on their corresponding libhdf5-foo (=$binvers) (and the libraries
recommend these variant-metapackages vice versa) could be a possible
path for the future to keep the hdf5 variant over soname changes.

Andreas



More information about the Pkg-grass-devel mailing list