Skip to content

Cap Cython below 3.3 so the pyOpenMS build works again - #98

Merged
t0mdavid-m merged 1 commit into
developfrom
claude/flashapp-upload-suffix-error-dy1djs
Aug 25, 2026
Merged

Cap Cython below 3.3 so the pyOpenMS build works again#98
t0mdavid-m merged 1 commit into
developfrom
claude/flashapp-upload-suffix-error-dy1djs

Conversation

@t0mdavid-m

Copy link
Copy Markdown
Member

The Docker 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'
make: *** [Makefile:466: pyopenms] Error 2

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.

Change

Dockerfile:69 and Dockerfile.arm:62: 'Cython>=3.1' -> 'Cython>=3.1,<3.3', plus a comment explaining the cap.

Why <3.3

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. 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 develop was already red before Cython broke it: the run for #96 died at Dockerfile:225, gh release download ... -p "OpenMS-App.zip" -> "no assets to download". Expect the build to get past make pyopenms and then hit that step unless a release asset exists now.

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
@t0mdavid-m
t0mdavid-m merged commit f8e9eba into develop Aug 25, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants