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