Uh oh!
There was an error while loading. Please reload this page.
Allow using "filters.python" in a python process on OS X - #76
Conversation
Looks like the test failures aren't caused by my change, as #77 also fails |
hobu
commented
Dec 8, 2020
oops, I forgot to merge #78 that cures the test issues. |
hobu
commented
Dec 8, 2020
It looks like tests are ✅ . Can you provide a test that actually exercises your fix? |
Added test, verified that before my change the test fails with: |
hobu
commented
Dec 9, 2020
Is |
abellgithub
commented
Dec 9, 2020
I don't really know anything about the build process for the python extension at this point, but all this seems to do is add |
froody
commented
Dec 10, 2020
|
froody
commented
Dec 10, 2020
No, it's safe to use for any version of python. |
abellgithub
commented
Dec 10, 2020
(Writing this mostly for the history...) So, to be clear, we're still linking against libpython.dylib in order to resolve build-time symbols, but when using the extension, we're resolving those symbols against the python executable because 1) they're exported and 2) they're already loaded so they're found in the already loaded code, rather than the shared lib, despite the fact that there's a DT_NEEDED record in libpdal_plugin_filter_python.dylib for libpython.dylib. I wrote one of the Python devs but didn't hear back, but still have not heard what's going on that causes the actual failure. I can't think of any general reason why having two copies of the interpreter that come from different libraries should be a problem. I'm disappointed that they haven't described this in detail or tried to fix it and we're left with this brittle situation. |
hobu
commented
Dec 10, 2020
2.3.6 pushed with this fix. https://pypi.org/project/PDAL/ |
This fixes#75