fix pyarrow depending on incorrect version of libstdcxx-ng #359
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Checklist
0
(if the version changed)conda-smithy
(Use the phrase@conda-forge-admin, please rerender
in a comment in this PR for automated rerendering)Fixes conda-forge/arrow-cpp-feedstock#895. Partially fixes JuliaPy/PythonCall.jl#247.
In the above issue, I showed that some builds of
pyarrow
have an incorrect dependency onlibstdcxx-ng
(too low) meaning that it is possible to install versions of these such thatpyarrow
raises an error when being imported.You can reproduce the problem (on linux-64) as follows:
The error message means that
pyarrow
was trying to load a symbol that only exists in a newer version oflibstdc++
(v12 in this case).By varying the above incantation, I discovered that there are only three version/build combinations with this issue, namely 8.0.0/1, 7.0.0/6 and 6.0.1/18. It affects all versions of Python (3.7, 3.8, 3.9, 3.10) the same.
This PR fixes the corresponding dependencies to
libstdcxx-ng >=12
.This only affects Linux, but I have only looked at linux-64 and not other architectures. I have also only looked at the CPU builds of
pyarrow
.I assume what caused this error in the first place is some short-term bug in the C++ toolchain you use to build
pyarrow
which was outputting incorrect dependencies. Just a guess. Perhaps it affects other packages too, I don't know.The diff is: