Bug#1023820: Re#1023820 hdf5: Dependencies not tight enough

Drew Parsons dparsons at debian.org
Mon Apr 17 15:15:22 BST 2023


reassign 1023820 src:hdf5
retitle 1023820 hdf5: Dependencies not tight enough
affects 1023820 python3-h5py
thanks

Bug#1023820 reported a failure in h5py:

>>> import h5py
...
ImportError: /usr/lib/x86_64-linux-gnu/libhdf5_serial.so.103: version 
`HDF5_SERIAL_1.10.7' not found (required by 
/usr/lib/python3/dist-packages/h5py/_debian_h5py_serial/defs.cpython-310-x86_64-linux-gnu.so)

Current hdf5 is 1.10.8+repack1-1, and current libhdf5_serial.so.103 
provides HDF5_SERIAL_1.10.7 and HDF5_SERIAL_1.10.8 (and older symbols), 
so the error should not be ongoing. The user just needs to update to the 
version of hdf5 that h5py was build against.

But I think there is scope for hdf5 to tighten its dependency 
declaration as requested by the bug submitter.

Currently dpkg-shlibdeps (dh_shlibdeps) finds Depends: libhdf5-103-1 for 
hdf5 serial.  Given the issue reported here with missing HDF5_SERIAL_* 
symbols, the dependency should be versioned,
   Depends: libhdf5-103-1 (>= 1.10.8)
with the version number automated as needed

Actually hdf5 is already partly doing this.  The h5py MPI build already 
got Depends: libhdf5-openmpi-103-1 (>= 1.10.7).  It looks like the logic 
that's in place for hdf5-mpi needs to be propagated to hdf5-serial.

Checking the hdf5's debian/rules and the documentation for 
dh_makeshlibs, it looks like it might be enough to replace
   dh_makeshlibs -- -v$(libversion)
in override_dh_makeshlibs with
   dh_makeshlibs -VUpstream-Version -- -v$(libversion)

Or maybe the versioned dependency needs to be written into 
debian/libhdf5-cpp-103-1.symbols, perhaps via #MINVER# as done with 
libhdf5-openmpi-103-1.symbols



More information about the debian-science-maintainers mailing list