Bug#1053314: Depends: python3-h5py-mpi without python3-h5py
Rafael Laboissière
rafael at debian.org
Sun Oct 8 12:52:12 BST 2023
Ok, I tried to fix the building problem by including python3-h5py,
alongside with python3-h5py-mpi, into Build-Depends, as suggested by
Drew, but the xmds2 package FTBFS.
Here is a way to reproduce the problem without building the package:
$ dpkg -l python3-h5py\*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-===================-============-============-=======================================================
ii python3-h5py 3.9.0-3 all general-purpose Python interface to hdf5
ii python3-h5py-mpi 3.9.0-3 amd64 general-purpose Python interface to hdf5 (Python 3 MPI)
un python3-h5py-serial <none> <none> (no description available)
$ echo 'import h5py' | python3
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3/dist-packages/h5py/__init__.py", line 21, in <module>
from . import _debian_h5py_serial as _h5py
ImportError: cannot import name '_debian_h5py_serial' from partially initialized module 'h5py' (most likely due to a circular import) (/usr/lib/python3/dist-packages/h5py/__init__.py)
Is there a way to force h5py to import _debian_h5py_serial instead of
_debian_h5py_mpi, via the generic h5py namespace?
Best,
Rafael
* Rafael Laboissière <rafael at debian.org> [2023-10-08 10:27]:
> * Nilesh Patra <nilesh at riseup.net> [2023-10-04 02:24]:
>
>> On Sun, 01 Oct 2023 15:25:43 +0200 Drew Parsons <dparsons at debian.org> wrote:
>>> Package: xmds2
>>> Version: 3.1.0+dfsg2-4
>>> Severity: serious
>>> Justification: debci
>>>
>>> xmds2 Depends: python3-h5py-mpi without depending on python3-h5py
>>>
>>> python3-h5py-mpi only provides the h5py._debian_h5py_mpi
>>> namespace, not h5py. Hence tests using h5py without specifying
>>> _debian_h5py_mpi fail. This is the case with h5py 3.9.0. (Marking
>>> Severity: serious due to debci failure)
>>>
>>> python3-h5py provides the h5py namespace, so if xmds2 strictly
>>> needs the mpi build, but accessing via the generic h5py namespace,
>>> then the Depends should specify both packages Depends:
>>> python3-h5py python3-h5py-mpi Note there seems to be an
>>> inconsistency in the xmds2 package configuration. It has MPI
>>> dependencies (python3-h5py-mpi, also mpi-default-dev,
>>> libfftw3-mpi-dev), but with respect to hdf5 it has Depends:
>>> libhdf5-serial-dev Should that instead be Depends: libhdf5-mpi-dev
>>> ?
>>
>> Seems you're right, taking a brief look at it. I've CC'ed Rafael to further comment/upload a fix.
>>
>> @Rafael, this seems to be the last blocker on h5py transition to
>> testing, so prompt action would be really cool!
>
> Thanks to Drew for the bug report and Nilesh for the remainder. I was
> out of town these last days and could not react to your messages. I am
> taking a look at the issue right now.
>
> Best,
>
> Rafael
>
>
More information about the debian-science-maintainers
mailing list