-
Notifications
You must be signed in to change notification settings - Fork 220
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
boost builds on default channel incompatible with newer python builds #9078
Comments
This is incorrect. This is a user error.
|
In particular, why do you think you should add |
Here you go. This should work fine on Linux and macOS, not sure about Windows though.
IMHO the bug lies with CMake though. It cares not a jot for how the actual Python was configured and built and makes incorrect assumptions that I am working around here. |
@mingwandroid It does indeed at that. the py_enable_shared was the bit we were missing here. Thanks for that. |
Do you not also need my changes around
.. and without this, the test-case failed due to the lack of |
Both were needed, I meant using sysconfig. btw - there is also an issue with cmake trying to using both -bundle and -dynamiclib... One of them needs to be removed. While I agree this was a "user error" it is an incredibly non-obvious one since everything compiles and the tests segfault. |
CMake's support for Python takes a lowest common denominator approach of assuming 'system' python and whatever they think that entails. It is usually subtly wrong but harmlessly so on Linux - linking to libpython on distros that run static python interpreters, but the same problem is fatal for a static macOS python interpreter. I mean to spend time to see if I can make this harmless on macOS but I'm not sure it's technically possible. The macOS dynamic linker is very complex so maybe there's a way. |
Actual Behavior
It appears that when conda switched over to statically linked pythons, packages in the default channel were not updated accordingly. Namely boost and boost python. Building from the anaconda or condo-forge channels work correctly.
The error we are seeing is related to this one:
https://stackoverflow.com/questions/48289858/fatal-error-in-extension-pythreadstate-get-no-current-thread-when-using-swig-w
Expected Behavior
The build should work :)
Steps to Reproduce
Here is a small example extracted from the rdkit sources (https://github.com/rdkit)
segfaults in the test.
do not have this issue.
Anaconda or Miniconda version:
conda 4.3.34 (and earlier)
Operating System:
OSX
conda info
The text was updated successfully, but these errors were encountered: