-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
[BUG] 62.0.0: setuptools._distutils.unixccompiler
hardcodes on linking rpath
#3257
Comments
Out of curiousity, would something like this patch fix this problem? Found in this distutils comment; possibly enabled by |
Issue is that |
For As for "setuptools should never fiddle with linker options", there's a range of arguments to In case I understood properly the first time, you may want to avoid setting |
bsddb3 is explicitly requesting rpath: https://hg.jcea.es/pybsddb/file/tip/setup3.py#l490 so I'd either patch bsddb3 to remove that line, or ask upstream why they need it. |
Last of the patches from pypa#73 Might close pypa/setuptools#3257 Dual purposes here: - On platforms like Cygwin that don't have `rpath`, try to avoid adding things to `rpath` - Some distribution binary package makers require that no shared library list a system library directory (`/lib`, `/lib64`, `/usr/lib`, `/usr/lib64`) in its `rpath`; this patch simplifies the code to ensure the shared library can find its dependencies at runtime.
Does applying the patch in pypa/distutils#160 to the copy of |
Last of the patches from pypa#73 Might close pypa/setuptools#3257 Dual purposes here: - On platforms like Cygwin that don't have `rpath`, try to avoid adding things to `rpath` - Some distribution binary package makers require that no shared library list a system library directory (`/lib`, `/lib64`, `/usr/lib`, `/usr/lib64`) in its `rpath`; this patch simplifies the code to ensure the shared library can find its dependencies at runtime.
setuptools version
62.0.0:
Python version
3.8.13
OS
Linux/x86_64
Additional environment information
No response
Description
I'm tring to build
bsddb3
as rpm package (https://pypi.org/project/bsddb3/). That module links small DSO.Looks like
setuptools/setuptools/_distutils/unixccompiler.py
Lines 294 to 302 in e5552d3
is causing that to the linker options is always added
-Wl,--enable-new-dtags,-R/usr/lib64
.Linking binary with default libdir is pointless and rpm on packaging is checkin is any ELF binary has RPATH and if that RPATH points to default libdir it exits with error.
Build log:
In that last line is
-Wl,--enable-new-dtags,-R/usr/lib64
as linker option.That is causeing that rpmbuild post installation is failing with:
Expected behavior
How to Reproduce
Output
The text was updated successfully, but these errors were encountered: