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 <raf...@debian.org> [2023-10-08 10:27]:
* Nilesh Patra <nil...@riseup.net> [2023-10-04 02:24]:
On Sun, 01 Oct 2023 15:25:43 +0200 Drew Parsons <dpars...@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