Skip to content

Weird import error with repaired wheel #592

@jontwo

Description

@jontwo

Describe the bug

I've built a GDAL wheel and used auditwheel/patchelf to add the shared libraries into it, but I get an import error when I try to use the wheel. The missing module name is different every time and looks like it's actually a binary file rather than a file path.

ImportError: 9\udcd4\udc87\udce9\udcfa\udcff\udcff\udc80: cannot open shared object file: No such file or directory

Steps To Reproduce

patchelf_repro.tar.gz
(Github does not let me attach the wheel)

Attached is a project that will build the problem wheel. It's based on https://github.com/youngpm/gdalmanylinux but has been updated so the build steps are closer to https://github.com/OSGeo/gdal/tree/release/3.10/.github/workflows.

The current recipe uses patchelf v0.18.0 but I did not have this problem with v0.14.5.

Expected behavior

I should be able to run python -c "import osgeo" without error.

patchelf --version output
patchelf 0.18.0

Additional context

Here is a typical call stack from trying to use the wheel.

$ python -c "import osgeo"
Traceback (most recent call last):
  File "/home/jontwo/venv/deleteme/lib/python3.12/site-packages/osgeo/__init__.py", line 30, in swig_import_helper
    return importlib.import_module(mname)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 921, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 813, in module_from_spec
  File "<frozen importlib._bootstrap_external>", line 1293, in create_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
ImportError: ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ: cannot open shared object file: File name too long

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/jontwo/venv/deleteme/lib/python3.12/site-packages/osgeo/__init__.py", line 35, in <module>
    _gdal = swig_import_helper()
            ^^^^^^^^^^^^^^^^^^^^
  File "/home/jontwo/venv/deleteme/lib/python3.12/site-packages/osgeo/__init__.py", line 32, in swig_import_helper
    return importlib.import_module('_gdal')
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named '_gdal'

The problem is in trying to load the depended libraries in libgdal.so.36. These are:

root@8e5be684c58f:/io# ldd /src/superbuild/build/libgdal.so.36
        linux-vdso.so.1 (0x00007ffce6ba6000)
        libjpeg.so.8 => /lib/x86_64-linux-gnu/libjpeg.so.8 (0x00007f8f0d9b9000)
        libopenjp2.so.7 => /lib/x86_64-linux-gnu/libopenjp2.so.7 (0x00007f8f0d963000)
        liblcms2.so.2 => /lib/x86_64-linux-gnu/liblcms2.so.2 (0x00007f8f0d908000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f8f0d8e5000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f8f0d796000)
        libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f8f0d5b4000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f8f0d3c0000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f8f0fbd7000)
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f8f0d3a4000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f8f0d39e000)
        libjson-c.so.4 => /lib/x86_64-linux-gnu/libjson-c.so.4 (0x00007f8f0d38c000)
        libarchive.so.13 => /lib/x86_64-linux-gnu/libarchive.so.13 (0x00007f8f0d2c9000)
        libcurl.so.4 => /lib/x86_64-linux-gnu/libcurl.so.4 (0x00007f8f0d236000)
        libodbc.so.2 => /lib/x86_64-linux-gnu/libodbc.so.2 (0x00007f8f0d1c1000)
        libodbcinst.so.2 => /lib/x86_64-linux-gnu/libodbcinst.so.2 (0x00007f8f0d1a9000)
        libxml2.so.2 => /lib/x86_64-linux-gnu/libxml2.so.2 (0x00007f8f0cfef000)
        libcrypto++.so.6 => /lib/x86_64-linux-gnu/libcrypto++.so.6 (0x00007f8f0cc29000)
        libcrypto.so.1.1 => /lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007f8f0c952000)
        libzstd.so.1 => /lib/x86_64-linux-gnu/libzstd.so.1 (0x00007f8f0c8a9000)
        liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f8f0c87e000)
        libdeflate.so.0 => /lib/x86_64-linux-gnu/libdeflate.so.0 (0x00007f8f0c860000)
        liblz4.so.1 => /lib/x86_64-linux-gnu/liblz4.so.1 (0x00007f8f0c83f000)
        libblosc.so.1 => /lib/libblosc.so.1 (0x00007f8f0c82e000)
        libwebp.so.6 => /lib/x86_64-linux-gnu/libwebp.so.6 (0x00007f8f0c7c4000)
        libarmadillo.so.9 => /lib/libarmadillo.so.9 (0x00007f8f0c7b1000)
        libOpenCL.so.1 => /lib/x86_64-linux-gnu/libOpenCL.so.1 (0x00007f8f0c5a4000)
        libqhull_r.so.7 => /lib/x86_64-linux-gnu/libqhull_r.so.7 (0x00007f8f0c34a000)
        libSFCGAL.so.1 => /lib/x86_64-linux-gnu/libSFCGAL.so.1 (0x00007f8f0b9b5000)
        libgmpxx.so.4 => /lib/x86_64-linux-gnu/libgmpxx.so.4 (0x00007f8f0b9ac000)
        libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f8f0b97e000)
        libxerces-c-3.2.so => /lib/x86_64-linux-gnu/libxerces-c-3.2.so (0x00007f8f0b5eb000)
        libjxl.so.0.12 => /usr/local/lib/libjxl.so.0.12 (0x00007f8f0b1da000)
        libheif.so.1 => /lib/x86_64-linux-gnu/libheif.so.1 (0x00007f8f0b15a000)
        libpng16.so.16 => /lib/x86_64-linux-gnu/libpng16.so.16 (0x00007f8f0b122000)
        libQB3.so => /lib/x86_64-linux-gnu/libQB3.so (0x00007f8f0b0cd000)
        libaec.so.0 => /lib/x86_64-linux-gnu/libaec.so.0 (0x00007f8f0b0c4000)
        libpoppler.so.97 => /lib/x86_64-linux-gnu/libpoppler.so.97 (0x00007f8f0ad80000)
        libpodofo.so.0.9.6 => /lib/libpodofo.so.0.9.6 (0x00007f8f0abc0000)
        libgif.so.7 => /lib/x86_64-linux-gnu/libgif.so.7 (0x00007f8f0abb5000)
        libnetcdf.so.15 => /lib/x86_64-linux-gnu/libnetcdf.so.15 (0x00007f8f0aa90000)
        libcfitsio.so.8 => /lib/x86_64-linux-gnu/libcfitsio.so.8 (0x00007f8f0a791000)
        libhdf5_serial.so.103 => /lib/x86_64-linux-gnu/libhdf5_serial.so.103 (0x00007f8f0a414000)
        libsqlite3.so.0 => /usr/local/install-sqlite-trusted-schema-off/lib/libsqlite3.so.0 (0x00007f8f0a2d3000)
        libpq.so.5 => /lib/x86_64-linux-gnu/libpq.so.5 (0x00007f8f0a280000)
        libkea.so.1.4 => /lib/libkea.so.1.4 (0x00007f8f0a209000)
        libhdf5_cpp.so.103 => /lib/x86_64-linux-gnu/libhdf5_cpp.so.103 (0x00007f8f0a18c000)
        libtiledb.so.2.15 => /lib/x86_64-linux-gnu/libtiledb.so.2.15 (0x00007f8f094b7000)
        libIlmImf-2_3.so.24 => /lib/x86_64-linux-gnu/libIlmImf-2_3.so.24 (0x00007f8f091d8000)
        libHalf.so.24 => /lib/x86_64-linux-gnu/libHalf.so.24 (0x00007f8f09193000)
        libIex-2_3.so.24 => /lib/x86_64-linux-gnu/libIex-2_3.so.24 (0x00007f8f09170000)
        libjxl_threads.so.0.12 => /usr/local/lib/libjxl_threads.so.0.12 (0x00007f8f0916a000)
        libbasisu.so => /lib/x86_64-linux-gnu/libbasisu.so (0x00007f8f08f9f000)
        /usr/local/lib/libltidsdk.so (0x00007f8f087c6000)
        libkmlbase.so.1 => /lib/x86_64-linux-gnu/libkmlbase.so.1 (0x00007f8f087a9000)
        libkmldom.so.1 => /lib/x86_64-linux-gnu/libkmldom.so.1 (0x00007f8f08708000)
        libkmlengine.so.1 => /lib/x86_64-linux-gnu/libkmlengine.so.1 (0x00007f8f086cc000)
        libfyba.so.0 => /lib/x86_64-linux-gnu/libfyba.so.0 (0x00007f8f08674000)
        libpcre2-8.so.0 => /lib/x86_64-linux-gnu/libpcre2-8.so.0 (0x00007f8f085e3000)
        libspatialite.so.8 => /usr/local/lib/libspatialite.so.8 (0x00007f8f07e93000)
        libmysqlclient.so.21 => /lib/x86_64-linux-gnu/libmysqlclient.so.21 (0x00007f8f07767000)
        libfreexl.so.1 => /usr/local/lib/libfreexl.so.1 (0x00007f8f07754000)
        libarrow_dataset.so.1900 => /lib/x86_64-linux-gnu/libarrow_dataset.so.1900 (0x00007f8f07550000)
        libogdi.so.4.1 => /lib/libogdi.so.4.1 (0x00007f8f07534000)
        libodbccpp.so => /usr/local/lib/libodbccpp.so (0x00007f8f074c5000)
        libgeos_c.so.1 => /lib/x86_64-linux-gnu/libgeos_c.so.1 (0x00007f8f0746a000)
        libproj.so.25 => /usr/local/lib/libproj.so.25 (0x00007f8f0705a000)
        libdfalt.so.0 => /lib/libdfalt.so.0 (0x00007f8f06fb5000)
        libmfhdfalt.so.0 => /lib/libmfhdfalt.so.0 (0x00007f8f06f89000)
        libparquet.so.1900 => /lib/x86_64-linux-gnu/libparquet.so.1900 (0x00007f8f06bbb000)
        libarrow.so.1900 => /lib/x86_64-linux-gnu/libarrow.so.1900 (0x00007f8f043d2000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f8f043b7000)
        libnettle.so.7 => /lib/x86_64-linux-gnu/libnettle.so.7 (0x00007f8f0437d000)
        libacl.so.1 => /lib/x86_64-linux-gnu/libacl.so.1 (0x00007f8f04370000)
        libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007f8f0435d000)
        libnghttp2.so.14 => /lib/x86_64-linux-gnu/libnghttp2.so.14 (0x00007f8f04333000)
        libidn2.so.0 => /lib/x86_64-linux-gnu/libidn2.so.0 (0x00007f8f04312000)
        librtmp.so.1 => /lib/x86_64-linux-gnu/librtmp.so.1 (0x00007f8f042f2000)
        libssh.so.4 => /lib/x86_64-linux-gnu/libssh.so.4 (0x00007f8f04283000)
        libpsl.so.5 => /lib/x86_64-linux-gnu/libpsl.so.5 (0x00007f8f0426e000)
        libssl.so.1.1 => /lib/x86_64-linux-gnu/libssl.so.1.1 (0x00007f8f041db000)
        libgssapi_krb5.so.2 => /lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f8f0418e000)
        libldap_r-2.4.so.2 => /lib/x86_64-linux-gnu/libldap_r-2.4.so.2 (0x00007f8f04138000)
        liblber-2.4.so.2 => /lib/x86_64-linux-gnu/liblber-2.4.so.2 (0x00007f8f04127000)
        libbrotlidec.so.1 => /usr/local/lib/libbrotlidec.so.1 (0x00007f8f04118000)
        libltdl.so.7 => /lib/x86_64-linux-gnu/libltdl.so.7 (0x00007f8f0410b000)
        libicuuc.so.66 => /lib/x86_64-linux-gnu/libicuuc.so.66 (0x00007f8f03f25000)
        libsnappy.so.1 => /lib/x86_64-linux-gnu/libsnappy.so.1 (0x00007f8f03f1a000)
        libblas.so.3 => /lib/x86_64-linux-gnu/libblas.so.3 (0x00007f8f03ead000)
        liblapack.so.3 => /lib/x86_64-linux-gnu/liblapack.so.3 (0x00007f8f03809000)
        libarpack.so.2 => /lib/x86_64-linux-gnu/libarpack.so.2 (0x00007f8f037bf000)
        libsuperlu.so.5 => /lib/x86_64-linux-gnu/libsuperlu.so.5 (0x00007f8f0374f000)
        libboost_serialization.so.1.71.0 => /lib/x86_64-linux-gnu/libboost_serialization.so.1.71.0 (0x00007f8f0370b000)
        libmpfr.so.6 => /lib/x86_64-linux-gnu/libmpfr.so.6 (0x00007f8f0368a000)
        libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f8f03606000)
        libcurl-gnutls.so.4 => /lib/x86_64-linux-gnu/libcurl-gnutls.so.4 (0x00007f8f03574000)
        libjxl_cms.so.0.12 => /usr/local/lib/libjxl_cms.so.0.12 (0x00007f8f0353d000)
        libbrotlienc.so.1 => /usr/local/lib/libbrotlienc.so.1 (0x00007f8f03485000)
        libde265.so.0 => /lib/x86_64-linux-gnu/libde265.so.0 (0x00007f8f033e1000)
        libx265.so.179 => /lib/x86_64-linux-gnu/libx265.so.179 (0x00007f8f02473000)
        libfreetype.so.6 => /lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f8f023b2000)
        libfontconfig.so.1 => /lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007f8f0236b000)
        libtiff.so.5 => /lib/x86_64-linux-gnu/libtiff.so.5 (0x00007f8f022e9000)
        libnss3.so => /lib/x86_64-linux-gnu/libnss3.so (0x00007f8f0218e000)
        libsmime3.so => /lib/x86_64-linux-gnu/libsmime3.so (0x00007f8f0215e000)
        libnspr4.so => /lib/x86_64-linux-gnu/libnspr4.so (0x00007f8f0211d000)
        libidn.so.11 => /lib/x86_64-linux-gnu/libidn.so.11 (0x00007f8f020e6000)
        libunistring.so.2 => /lib/x86_64-linux-gnu/libunistring.so.2 (0x00007f8f01f64000)
        libhdf5_serial_hl.so.100 => /lib/x86_64-linux-gnu/libhdf5_serial_hl.so.100 (0x00007f8f01f3d000)
        libsz.so.2 => /lib/x86_64-linux-gnu/libsz.so.2 (0x00007f8f01f38000)
        libIlmThread-2_3.so.24 => /lib/x86_64-linux-gnu/libIlmThread-2_3.so.24 (0x00007f8f01f2e000)
        libtbb.so.2 => /usr/local/lib/libtbb.so.2 (0x00007f8f01cf8000)
        libminizip.so.1 => /lib/x86_64-linux-gnu/libminizip.so.1 (0x00007f8f01aed000)
        liburiparser.so.1 => /lib/x86_64-linux-gnu/liburiparser.so.1 (0x00007f8f01ace000)
        libfyut.so.0 => /lib/x86_64-linux-gnu/libfyut.so.0 (0x00007f8f01ac2000)
        libfygm.so.0 => /lib/x86_64-linux-gnu/libfygm.so.0 (0x00007f8f01ab9000)
        libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f8f01a9b000)
        libarrow_acero.so.1900 => /lib/x86_64-linux-gnu/libarrow_acero.so.1900 (0x00007f8f018d6000)
        libgeos.so.3.13.0 => /lib/x86_64-linux-gnu/libgeos.so.3.13.0 (0x00007f8f0153c000)
        libthrift-0.13.0.so => /lib/x86_64-linux-gnu/libthrift-0.13.0.so (0x00007f8f01485000)
        libre2.so.5 => /lib/x86_64-linux-gnu/libre2.so.5 (0x00007f8f01414000)
        libutf8proc.so.2 => /lib/x86_64-linux-gnu/libutf8proc.so.2 (0x00007f8f013c5000)
        libgnutls.so.30 => /lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007f8f011ef000)
        libhogweed.so.5 => /lib/x86_64-linux-gnu/libhogweed.so.5 (0x00007f8f011b8000)
        libkrb5.so.3 => /lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f8f010db000)
        libk5crypto.so.3 => /lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f8f010aa000)
        libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f8f010a1000)
        libkrb5support.so.0 => /lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f8f01092000)
        libsasl2.so.2 => /lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007f8f01075000)
        libgssapi.so.3 => /lib/x86_64-linux-gnu/libgssapi.so.3 (0x00007f8f01030000)
        libbrotlicommon.so.1 => /usr/local/lib/libbrotlicommon.so.1 (0x00007f8f0100b000)
        libicudata.so.66 => /lib/x86_64-linux-gnu/libicudata.so.66 (0x00007f8eff548000)
        libgfortran.so.5 => /lib/x86_64-linux-gnu/libgfortran.so.5 (0x00007f8eff280000)
        libnuma.so.1 => /lib/x86_64-linux-gnu/libnuma.so.1 (0x00007f8eff273000)
        libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f8eff26a000)
        libjbig.so.0 => /lib/x86_64-linux-gnu/libjbig.so.0 (0x00007f8eff259000)
        libnssutil3.so => /lib/x86_64-linux-gnu/libnssutil3.so (0x00007f8eff224000)
        libplc4.so => /lib/x86_64-linux-gnu/libplc4.so (0x00007f8eff21d000)
        libplds4.so => /lib/x86_64-linux-gnu/libplds4.so (0x00007f8eff218000)
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f8eff20e000)
        libp11-kit.so.0 => /lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007f8eff0d8000)
        libtasn1.so.6 => /lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007f8eff0c0000)
        libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f8eff0b9000)
        libheimntlm.so.0 => /lib/x86_64-linux-gnu/libheimntlm.so.0 (0x00007f8eff0ad000)
        libkrb5.so.26 => /lib/x86_64-linux-gnu/libkrb5.so.26 (0x00007f8eff01a000)
        libasn1.so.8 => /lib/x86_64-linux-gnu/libasn1.so.8 (0x00007f8efef74000)
        libhcrypto.so.4 => /lib/x86_64-linux-gnu/libhcrypto.so.4 (0x00007f8efef3a000)
        libroken.so.18 => /lib/x86_64-linux-gnu/libroken.so.18 (0x00007f8efef21000)
        libquadmath.so.0 => /lib/x86_64-linux-gnu/libquadmath.so.0 (0x00007f8efeed7000)
        libffi.so.7 => /lib/x86_64-linux-gnu/libffi.so.7 (0x00007f8efeecb000)
        libwind.so.0 => /lib/x86_64-linux-gnu/libwind.so.0 (0x00007f8efeea1000)
        libheimbase.so.1 => /lib/x86_64-linux-gnu/libheimbase.so.1 (0x00007f8efee8d000)
        libhx509.so.5 => /lib/x86_64-linux-gnu/libhx509.so.5 (0x00007f8efee3f000)
        libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f8efee04000)

When I look at strace output, I can see it working down the list as far as libsuperlu, then the next entry goes wrong:

$ strace python -c "import osgeo"
...
openat(AT_FDCWD, "/home/jontwo/venv/deleteme/lib/python3.12/site-packages/osgeo/../gdal.libs/libsuperlu-8e3eb48b.so.5.2.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260d\0\0\0\0\0\0"..., 832) = 832
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0PW\262\27\225'\312\234\371\354|C@\2520\201"..., 36, 454656) = 36
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=472489, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 476584, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f79ee845000
mmap(0x7f79ee84b000, 372736, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7f79ee84b000
mmap(0x7f79ee8a6000, 53248, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x61000) = 0x7f79ee8a6000
mmap(0x7f79ee8b3000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6d000) = 0x7f79ee8b3000
mmap(0x7f79ee8b5000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6f000) = 0x7f79ee8b5000
close(3)                                = 0
openat(AT_FDCWD, "/home/jontwo/venv/deleteme/lib/python3.12/site-packages/osgeo/../gdal.libs/I\vH", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/home/jontwo/venv/deleteme/lib/python3.12/site-packages/osgeo/../gdal.libs/I\vH", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=47555, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 47555, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f79ee839000
close(3)                                = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v3/I\vH", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v3", 0x7ffc17470030, 0) = -1 ENOENT (No such file or directory)
...
write(2, "ImportError: I\vH: cannot open sh"..., 76ImportError: I
                                                                 H: cannot open shared object file: No such file or directory
) = 76

I've truncated the above output, but the item after libsuperlu (I\vH) is the same one that appears in the error message at the end.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions