-
-
Notifications
You must be signed in to change notification settings - Fork 7.9k
Add libdl on Unix-like systems. #10310
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
Conversation
|
We (and every python extension module) are already linking against libpython, which itself loads libdl. If that's not sufficient to you I'd argue you need to raise the issue upstream (with distutils)... |
|
This is not a general addition; we are calling |
|
Why is this different? Does -z defs not look into transitively loaded libraries? Should it not? (Perhaps it should indeed not, I just don't know) |
|
Here is what the build looks like with |
|
OK, looks like that's a fedora thing: https://fedoraproject.org/wiki/UnderstandingDSOLinkChange |
|
The default for building shared libraries is to ignore undefined things. From the man page:
But as you've also found, transitive deps are not searched for, and I believe the |
setupext.py
Outdated
| @@ -1493,6 +1493,8 @@ def add_flags(self, ext): | |||
| if sys.platform == 'win32': | |||
| # PSAPI library needed for finding Tcl / Tk at run time | |||
| ext.libraries.extend(['psapi']) | |||
| elif sys.platform != 'darwin': | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
seems to be a slightly obfuscated way to say "startswith('linux')"...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had assumed it was needed on BSD, but I think that was wrong now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
Not linking with libdl causes errors when -z defs is in the linker flags.
PR Summary
Not linking with libdl causes errors when
-z defsis in the linker flags.PR Checklist