Skip to content
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

pyproj 3.1.0 build fails for python 3.10.0b1 #855

Closed
jdkloe opened this issue May 26, 2021 · 3 comments · Fixed by #886
Closed

pyproj 3.1.0 build fails for python 3.10.0b1 #855

jdkloe opened this issue May 26, 2021 · 3 comments · Fixed by #886
Labels

Comments

@jdkloe
Copy link
Contributor

jdkloe commented May 26, 2021

Problem description

For the next Fedora cycle all packaged python packages are currently being tested against a preliminary version of python 3.10.0.
The build is performed in a mock sandbox environment. During this testing it was found that the pyproj package release 3.1.0 fails to build in this environment.

For details of the reported crash see: https://bugzilla.redhat.com/show_bug.cgi?id=1964955

The cause has been tracked down to the pyproj/enum.py module. This one sub-classes enum.IntFlag to create GeodIntermediateFlag, and it seems it is no longer allowed to define this sub-class using a non-consecutive range of bits.
This is an intended change in python 3.10, and was introduced with this commit:
python/cpython@7aaeb2a but it seems not well documented yet.

A possible solution is to define additional constants that fill the gap between the 3 defined groups of bits in this class.
This patch has been submitted now for Fedora to let the pyproj build pass again. For details see: https://src.fedoraproject.org/rpms/pyproj/blob/rawhide/f/pyproj-enums.patch

If you wish I can provide a pull request that fixes the issue, but as stated in the bugzilla bug report, this seems a backwards incompatible change in Python, so it could as well be reverted before he final python 3.10.0 release. So maybe it is better to wait for that one to happen before modifying the pyproj code here on github.

@jdkloe jdkloe added the bug label May 26, 2021
@snowman2
Copy link
Member

Thanks for testing and raising the issue 👍. After 3.10 is released a PR with a fix would definitely be welcome and appreciated if it is still needed.

@snowman2
Copy link
Member

snowman2 commented Aug 2, 2021

@jdkloe did you submit a report to cpython to see what their thoughts on this behavior change are?

@jdkloe
Copy link
Contributor Author

jdkloe commented Aug 2, 2021

Not myself, but my fedora colleague Miro Hrončok did. See his bug-report: https://bugs.python.org/issue44242
As I understand from the discussion in this topic, the behavior change was reverted again.
So if we are lucky no change is needed in pyproj afterall.

@snowman2 snowman2 added this to To do in 3.2.0 Release via automation Aug 3, 2021
@snowman2 snowman2 moved this from To do to In progress in 3.2.0 Release Aug 3, 2021
3.2.0 Release automation moved this from In progress to Done Aug 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

2 participants