-
Notifications
You must be signed in to change notification settings - Fork 226
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
Python 3.6.2 math library may be incorrectly linked under latest builds #6401
Comments
The issue you have is not that math is incorrectly linked, instead, what you have run into is that our Python 3 executables are now statically linked (I didn't have time to do this for Python 2.7). As a concession to people who want to embed Python we also provide a shared library. Since the Python modules get their Python symbols from the static executable they do not dynamically link to libpython.so anymore (this accounts for part of the speed benefit). For your use case, when loading our Python shared library, you will need to pass the To 'correctly' embed our Python 3.6, following the official procedure you should do the following:
This will link statically to
|
Thanks. I'll give this a try and let you know the results. If possible, can we leave this issue open until the end of next week? |
Sure thing. I generally prefer for the reporter to close issues anyway. |
Good news! The RTLD_GLOBAL did the trick. Thanks for the helpful response. |
Excellent. I'm glad this use-case still works then. |
I'm having this problem when trying to run a R test for (RxODE). MY python version is 37 though: ImportError: /projects/industry/epd/software/Anaconda/py37/lib/python3.7/lib-dynload/math.cpython-37m-x86_64-linux-gnu.so: undefined symbol: PyArg_Parse Please help. Thanks |
…ed by Python libraries (issue ContinuumIO/anaconda-issues#6401)
…red by Python libraries (issue ContinuumIO/anaconda-issues#6401)
In our software, on Linux we load Python DLLs using
dlopen
.I'm getting the following error and it looks like it is due to the way Python 3.6.2 is built or linked under latest Miniconda, perhaps from the clang change.
ImportError: /home/cmeyer/miniconda3/lib/python3.6/lib-dynload/math.cpython-36m-x86_64-linux-gnu.so: undefined symbol: PyArg_ParseTupleAndKeywords
When I look at the latest Miniconda build, I see the following:
Under 3.6.1 I see:
The cause of this error seems to be that math on the latest Miniconda build Python 3.6.2 doesn't link to
libpython3.6m.so.1.0
as Miniconda did before with Python 3.6.1.Here is how I switched back to Python 3.6.1.
For reference, here is my environment.
The text was updated successfully, but these errors were encountered: