Hi, I've been investigating the hdf5 package dependencies issues for the past hours. I've found that removing conflict+provides+replaces on every -1.8 version allows the packages that depend on libhdf5 to be upgraded, but in this case libhdf5-*-dev is held back, because of a similar conflict in libjpeg.
I consider that removing the conflict+provides+replaces is both harmless and the correct thing to do. The contents of the packages are totally different, and it would be possible for two packages to be used with both libraries at the same time without a problem. Contents of libhdf5-openmpi-1.8.4: /. /usr /usr/lib /usr/lib/libhdf5.so.6.0.3 /usr/lib/libhdf5_hl.so.6.0.3 /usr/lib/libhdf5hl_fortran.so.6.0.3 /usr/lib/libhdf5_fortran.so.6.0.3 /usr/share /usr/share/doc /usr/share/doc/libhdf5-openmpi-1.8.4 /usr/share/doc/libhdf5-openmpi-1.8.4/HISTORY-1_8.txt.gz /usr/share/doc/libhdf5-openmpi-1.8.4/README.Debian /usr/share/doc/libhdf5-openmpi-1.8.4/HISTORY-1_0-1_8_0_rc3.txt.gz /usr/share/doc/libhdf5-openmpi-1.8.4/copyright /usr/share/doc/libhdf5-openmpi-1.8.4/changelog.gz /usr/share/doc/libhdf5-openmpi-1.8.4/changelog.Debian.gz /usr/lib/libhdf5.so.6 /usr/lib/libhdf5hl_fortran.so.6 /usr/lib/libhdf5_fortran.so.6 /usr/lib/libhdf5_hl.so.6 /usr/share/doc/libhdf5-openmpi-1.8.4/RELEASE.txt.gz Contents of libhdf5-openmpi-7: /. /usr /usr/share /usr/share/doc /usr/share/doc/libhdf5-openmpi-7 /usr/share/doc/libhdf5-openmpi-7/HISTORY-1_0-1_8_0_rc3.txt.gz /usr/share/doc/libhdf5-openmpi-7/HISTORY-1_8.txt.gz /usr/share/doc/libhdf5-openmpi-7/copyright /usr/share/doc/libhdf5-openmpi-7/changelog.gz /usr/share/doc/libhdf5-openmpi-7/changelog.Debian.gz /usr/lib /usr/lib/libhdf5hl_fortran.so.7.0.2 /usr/lib/libhdf5_hl.so.7.0.2 /usr/lib/libhdf5_fortran.so.7.0.2 /usr/lib/libhdf5.so.7.0.2 /usr/share/doc/libhdf5-openmpi-7/RELEASE.txt.gz /usr/lib/libhdf5_hl.so.7 /usr/lib/libhdf5.so.7 /usr/lib/libhdf5_fortran.so.7 /usr/lib/libhdf5hl_fortran.so.7 After removing the conflict+provides+replaces, petsc-dev (one of the depending packages affected by this problem) could be upgraded without problems; however, libhdf5-openmpi-dev was still kept back, because of this: libhdf5-openmpi-dev: Depends: libjpeg-dev libjpeg8-dev: Conflicts: libjpeg62-dev but 6b1-3 is to be installed Detailed analysis: libhdf5-openmpi-dev 1.8.4-patch1-2 depends on libjpeg62-dev libhdf5-openmpi-dev 1.8.8-9 depends on libjpeg-dev libjpeg62-dev 6b1-1 provides libjpeg-dev libjpeg62-dev 6b1-3 doesn't provide libjpeg-dev libjpeg8-dev 8d-1 provides libjpeg-dev and conflicts with libjpeg62-dev The only way that I found to resolve the conflict was to manually remove libjpeg62-dev. After that, everything could be upgraded properly. I don't understand why apt doesn't decide to do this when doing dist-upgrade. I can't figure out why apt is not dropping the conflicting package and preferring the upgrade, instead of just holding the packages back. aptitude decides better in this case, going for the upgrade of the right packages and the removal of the obsolete ones, although it also tries to remove totally harmless and unrelated x11-common. At this point I'm unsure as to how to proceed. I'm attaching here the debdiff of the packages I modified. For testing purposes, compiled packages, with the corresponding Packages.gz file can be found at: deb http://marga.com.ar/debian/packages/hdf5 ./ -- Regards, Marga
hdf5.diff
Description: Binary data