Dear Python team,

maybe you can help with an issue I can't fix. I am trying to package Awkward Array [1] and a preliminary repository can be found at [2].

What is special about this package is that two modules are required -- one with C++ native libraries, and a native Python one (see [3]) which I was trying to build into the same Debian package, taking rstcheck [4] as inspiration.

Unfortunately the result doesn't import correctly:

~/pkg/deb-med# python3
Python 3.11.8 (main, Feb  7 2024, 21:52:08) [GCC 13.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import awkward
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
File "/usr/lib/python3/dist-packages/awkward/__init__.py", line 13, in <module>
    import awkward.contents
File "/usr/lib/python3/dist-packages/awkward/contents/__init__.py", line 5, in <module> from awkward.contents.bitmaskedarray import BitMaskedArray # noqa: F401
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/awkward/contents/bitmaskedarray.py", line 30, in <module>
    from awkward.contents.bytemaskedarray import ByteMaskedArray
File "/usr/lib/python3/dist-packages/awkward/contents/bytemaskedarray.py", line 12, in <module>
    from awkward._layout import maybe_posaxis
File "/usr/lib/python3/dist-packages/awkward/_layout.py", line 13, in <module>
    from awkward._backends.numpy import NumpyBackend
File "/usr/lib/python3/dist-packages/awkward/_backends/numpy.py", line 5, in <module>
    import awkward_cpp
File "/usr/lib/python3/dist-packages/awkward_cpp/__init__.py", line 5, in <module>
    import awkward_cpp.cpu_kernels
File "/usr/lib/python3/dist-packages/awkward_cpp/cpu_kernels.py", line 25, in <module>
    lib = ctypes.cdll.LoadLibrary(str(libpath))
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/ctypes/__init__.py", line 454, in LoadLibrary
    return self._dlltype(name)
           ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/ctypes/__init__.py", line 376, in __init__
    self._handle = _dlopen(self._name, mode)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
OSError: /usr/lib/python3/dist-packages/awkward_cpp/lib/libawkward-cpu-kernels.so: cannot open shared object file: No such file or directory

Maybe because dh seems to rename the object files but my very limited knowledge of Python internals doesn't help me in knowing what to do:

: dh_python3 fs:431: renaming libawkward.so to libawkward.cpython-311-x86_64-linux-gnu.so I: dh_python3 fs:431: renaming libawkward-cpu-kernels.so to libawkward-cpu-kernels.cpython-311-x86_64-linux-gnu.so I: dh_python3 fs:431: renaming libawkward.so to libawkward.cpython-312-x86_64-linux-gnu.so I: dh_python3 fs:431: renaming libawkward-cpu-kernels.so to libawkward-cpu-kernels.cpython-312-x86_64-linux-gnu.so


Any help please? :) Thanks in advance!

Cheers
Sascha

P.S. Please cc as I am not subscribed to the list.

[1] https://github.com/scikit-hep/awkward
[2] https://salsa.debian.org/med-team/python-awkward
[3] https://github.com/scikit-hep/awkward?tab=readme-ov-file#installation-for-developers [4] https://salsa.debian.org/python-team/packages/rstcheck/-/blob/debian/master/debian/rules?ref_type=heads

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to