Require Python >= 3.6.1 for PySlice_AdjustIndices - #25
jschueller wants to merge 1 commit into
Conversation
with python 3.6.0: PyQt5/QtCore.so: undefined symbol: PySlice_AdjustIndices
|
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
|
+1 for this, I have encountered this error as well |
|
Related python ticket: https://bugs.python.org/issue29943 After reading the comments there, I am not sure whether 3.6.2 is going to be compatible with 3.6.0 or 3.6.1. Should python be pinned to the exact version (=3.6.1)? |
|
It looks like the author of that patch is reverting it. Maybe excluding 3.6.1 is the right solution. |
|
@jakirkham as build dependency ? how ? |
|
Adding |
|
Does this sound right @njsmith? Also here is another case to add to your issue if needed. |
|
what happens if we install py361 then pyqt with your fix ? I'd only exclude 361 from build. |
Quoted from the OP in the bug report with clarification as to the new function. |
Then it will be missing the |
|
PySlice_GetIndicesEx already exists, its PySlice_AdjustIndices that was added |
|
No, |
The change in 3.6.1 only broke compatibility in one direction. Anything built against 3.6.0 to will definitely run on 3.6.1 and 3.6.2; the problem is that things built against 3.6.1 can't necessarily run on 3.6.0. I expect that things built against 3.6.1 will also run on 3.6.2 (ie even if they revert the patch they'll be careful to do it in a way that avoids adding new breakage). I don't know what will happen if you build on 3.6.2. So yeah, the most sensible options I think are to either make sure to build against 3.6.0 (possibly as a general policy across conda-forge...), or else add a run requirement for |
|
I chose the second option: add a run requirement for >=3.6.1, that's what I already did for openturns. |
|
ping, this is good to go only a connection failure in 1/6 appveyor job |
|
The third option is to patch Python.h until Python 3.8 so that extensions remain compatible across all of Python 3.7.x. This is what we did on defaults. |
|
The third option: conda-forge/python-feedstock#145 |
|
@mingwandroid is that the upstream patch ? |
|
We don't know what upstream will do yet but we did ask on the issue whether this approach was reasonable. It disables the fix that the breakage was meant to address until Python 3.7 (when the patch would be removed). Read the issue for details. |
with python 3.6.0 from miniconda-latest: PyQt5/QtCore.so: undefined symbol: PySlice_AdjustIndices, this is a symbol that was added in python 3.6.1, which is used for build