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