-
Notifications
You must be signed in to change notification settings - Fork 147
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
missing RPATH in secondary SO packed into the wheel #451
Comments
The wheels can be found at https://test.pypi.org/project/scipy-openblas32/ and https://test.pypi.org/project/scipy-openblas64 |
This does not relate to #363 The RPATH modification is not required for runtime or when linking a shared library (as would be the usage of spicy_openblas). The While modifying the RPATH of libraries grafted by auditwheel would work in this case, I consider that adding some patchelf commands is always risky and would only be there to accommodate something that's not required at runtime or build time in the most generic usage of auditwheel. @mattip, as a workaround, you could use @lkollar, any thoughts ? |
Using the provided wheel (I used the ILP64 one) and the code from the cc.links() test in numpy inside a manylinux_2_28 image:
|
The |
This has been fixed by #478 |
I am still seeing the problem. I use |
@ofek this has not been fixed, as can be seen by downloading a manylinux artifact from https://github.com/MacPython/openblas-libs/actions/runs/7787953087?pr=136 and examining the libgfortran shared object. |
Do you have any idea what the true fix might be? |
This has come up in pyzmq, and I think the reason #478 didn't fix it is it looks like it is correcting an incorrect RPATH, but the problem (at least in pyzmq) is that the bundled libraries lack RPATH entirely, when it perhaps should be added. Maybe that's the issue? |
Maybe related to #363 and others.
I may have something similar in a wheel build of OpenBLAS. It packages a OpenBLAS shared object, which depends on libgfortran, which depends on libquadmath. Both of the support so's are packed by auditwheel into the wheel, but the RPATH in libgfortran is not set to
$ORIGIN
, so libquadmath is not found. I uploaded the auditwheel-repaired wheel to testpypi so the issue can be reproduced:This is only an issue when building a c-extension project (like NumPy or Scipy) that links to
libopenblas_python
: the linker cannot findlibquadmath
. Since the whole point of this package is to provide OpenBLAS for consumption by NumPy/SciPy, the failure to link is a problem.As @rgommers points out, I can use patchelf to add an RPATH to the packaged
libgfortran
, but isn't this a bug in auditwheel?The text was updated successfully, but these errors were encountered: