Cap Cython below 3.3 so the pyOpenMS build works again - #98
Merged
Conversation
The image build fails in the compile-openms stage at 'make -j4 pyopenms':
File ".../autowrap/PXDParser.py", line 69, in _check_type_constness
return isinstance(ctype, Nodes.CConstTypeNode)
AttributeError: module 'Cython.Compiler.Nodes' has no attribute
'CConstTypeNode'
AttributeError: module 'Cython.Compiler.Nodes' has no attribute
'CConstOrVolatileTypeNode'
autowrap is pinned to 0.24, whose constness check reflects on those two
Cython nodes, while Cython had no upper bound and now resolves to 3.3.0,
which removed the second one as well - so the fallback raises and the
pyOpenMS code generation dies. Nothing in the repository changed; the
same commit built fine before Cython 3.3 was released.
Checked against autowrap 0.24: Cython 3.1.8, 3.2.0 and 3.2.9 all still
provide CConstOrVolatileTypeNode and take the fallback path, 3.3.0 does
not - hence '<3.3' rather than a tighter cap. Lifting it again needs an
autowrap that supports Cython 3.3 (0.27.0 is current), which in turn has
to match the OpenMS branch the image builds.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RAyRJPFo13Xn4w8b4B8ju6
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
The Docker image build fails in the
compile-openmsstage atmake -j4 pyopenms:autowrapis pinned to0.24, whose constness check reflects on those two Cython nodes, whileCythonhad no upper bound and now resolves to 3.3.0, which removed the second one as well - so the fallback raises and the pyOpenMS code generation dies. Nothing in the repository changed; the same commit built fine before Cython 3.3 was released.Change
Dockerfile:69andDockerfile.arm:62:'Cython>=3.1'->'Cython>=3.1,<3.3', plus a comment explaining the cap.Why
<3.3Checked against autowrap 0.24: Cython 3.1.8, 3.2.0 and 3.2.9 all still provide
CConstOrVolatileTypeNodeand take the fallback path; 3.3.0 does not. Lifting the cap again needs an autowrap that supports Cython 3.3 (0.27.0 is current), which in turn has to match the OpenMS branch the image builds.Note
The image build on
developwas already red before Cython broke it: the run for #96 died atDockerfile:225,gh release download ... -p "OpenMS-App.zip"-> "no assets to download". Expect the build to get pastmake pyopenmsand then hit that step unless a release asset exists now.