-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
Need a way to use shared libraries with RTLD_GLOBAL flag #2312
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
Comments
I just noticed that
This way you don't need to use |
stevengj
added a commit
to stevengj/julia
that referenced
this issue
Feb 20, 2013
stevengj
added a commit
to stevengj/julia
that referenced
this issue
Feb 23, 2013
JeffBezanson
added a commit
that referenced
this issue
Feb 24, 2013
add optional RTLD flags argument to dlopen, fixes issue #2312
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
In order to
ccall
a function in a shared libraryfoo
that itself dynamically links a shared librarybar
which calls functions infoo
, one needs todlopen
the libraryfoo
with theRTLD_GLOBAL
flag. Currently, Julia does not do this, so the only workaround seems to be to patchdlload.c:jl_uv_dlopen
and recompile Julia.I'm running into this in writing a PyCall module to call Python code from Julia. This involves using
ccall
to call functions inlibpython
, butlibpython
itself dynamically loads other libraries when it imports Python modules, and those Python modules need to call Python routines themselves. So, importing such modules fails unlesslibpython
is loaded withRTLD_GLOBAL
.The text was updated successfully, but these errors were encountered: