-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Closed
Labels
Description
Describe the bug
I try to build Cython 3.0.11 with Python 3.14.0a1 in Fedora Linux and get the following errors:
Error compiling Cython file:
------------------------------------------------------------
...
return op, pos
def p_binop_expr(s, ops, p_sub_expr):
n1 = p_sub_expr(s)
while s.sy in ops:
op, pos = p_binop_operator(s)
^
------------------------------------------------------------
Cython/Compiler/Parsing.py:99:35: Compiler crash in AnalyseExpressionsTransform
ModuleNode.body = StatListNode(Parsing.py:6:0)
StatListNode.stats[25] = StatListNode(Parsing.py:96:0)
StatListNode.stats[0] = CFuncDefNode(Parsing.py:96:0,
args = [...]/3,
modifiers = [...]/0,
outer_attrs = [...]/2,
visibility = 'private')
File 'Nodes.py', line 397, in analyse_expressions: StatListNode(Parsing.py:97:4,
is_terminator = True)
File 'Nodes.py', line 7354, in analyse_expressions: WhileStatNode(Parsing.py:98:4)
File 'Nodes.py', line 397, in analyse_expressions: StatListNode(Parsing.py:99:8)
File 'Nodes.py', line 6056, in analyse_expressions: SingleAssignmentNode(Parsing.py:99:34)
File 'Nodes.py', line 6189, in analyse_types: SingleAssignmentNode(Parsing.py:99:34)
File 'ExprNodes.py', line 6139, in analyse_types: SimpleCallNode(Parsing.py:99:34,
analysed = True,
result_is_used = True,
use_managed_ref = True)
File 'ExprNodes.py', line 6257, in analyse_c_function_call: SimpleCallNode(Parsing.py:99:34,
analysed = True,
result_is_used = True,
use_managed_ref = True)
File 'ExprNodes.py', line 2076, in coerce_to: NameNode(Parsing.py:99:35,
cf_state = [...]/1,
is_name = True,
name = 's',
result_is_used = True,
use_managed_ref = True)
File 'ExprNodes.py', line 983, in coerce_to: NameNode(Parsing.py:99:35,
cf_state = [...]/1,
is_name = True,
name = 's',
result_is_used = True,
use_managed_ref = True)
Compiler crash traceback from this point on:
File "/builddir/build/BUILD/Cython-3.0.11-build/cython-3.0.11/Cython/Compiler/ExprNodes.py", line 983, in coerce_to
if src_type.is_cv_qualified:
^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'is_cv_qualified'
Compiling /builddir/build/BUILD/Cython-3.0.11-build/cython-3.0.11/Cython/Compiler/Parsing.py because it changed.
[1/1] Cythonizing /builddir/build/BUILD/Cython-3.0.11-build/cython-3.0.11/Cython/Compiler/Parsing.py
Traceback (most recent call last):
File "/usr/lib/python3.14/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
main()
~~~~^^
File "/usr/lib/python3.14/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.14/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 251, in build_wheel
return _build_backend().build_wheel(wheel_directory, config_settings,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
metadata_directory)
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.14/site-packages/setuptools/build_meta.py", line 410, in build_wheel
return self._build_with_temp_dir(
~~~~~~~~~~~~~~~~~~~~~~~~~^
['bdist_wheel'],
^^^^^^^^^^^^^^^^
...<3 lines>...
self._arbitrary_args(config_settings),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib/python3.14/site-packages/setuptools/build_meta.py", line 395, in _build_with_temp_dir
self.run_setup()
~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/setuptools/build_meta.py", line 487, in run_setup
super().run_setup(setup_script=setup_script)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.14/site-packages/setuptools/build_meta.py", line 311, in run_setup
exec(code, locals())
~~~~^^^^^^^^^^^^^^^^
File "<string>", line 319, in <module>
File "<string>", line 245, in run_build
File "/usr/lib/python3.14/site-packages/setuptools/__init__.py", line 104, in setup
return distutils.core.setup(**attrs)
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
File "/usr/lib/python3.14/site-packages/setuptools/_distutils/core.py", line 185, in setup
return run_commands(dist)
File "/usr/lib/python3.14/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
dist.run_commands()
~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
self.run_command(cmd)
~~~~~~~~~~~~~~~~^^^^^
File "/usr/lib/python3.14/site-packages/setuptools/dist.py", line 967, in run_command
super().run_command(command)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^
File "/usr/lib/python3.14/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/wheel/bdist_wheel.py", line 368, in run
self.run_command("build")
~~~~~~~~~~~~~~~~^^^^^^^^^
File "/usr/lib/python3.14/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
self.distribution.run_command(command)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
File "/usr/lib/python3.14/site-packages/setuptools/dist.py", line 967, in run_command
super().run_command(command)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^
File "/usr/lib/python3.14/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/setuptools/_distutils/command/build.py", line 131, in run
self.run_command(cmd_name)
~~~~~~~~~~~~~~~~^^^^^^^^^^
File "/usr/lib/python3.14/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
self.distribution.run_command(command)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
File "/usr/lib/python3.14/site-packages/setuptools/dist.py", line 967, in run_command
super().run_command(command)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^
File "/usr/lib/python3.14/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/setuptools/_distutils/command/build_ext.py", line 345, in run
self.build_extensions()
~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/setuptools/_distutils/command/build_ext.py", line 467, in build_extensions
self._build_extensions_serial()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.14/site-packages/setuptools/_distutils/command/build_ext.py", line 493, in _build_extensions_serial
self.build_extension(ext)
~~~~~~~~~~~~~~~~~~~~^^^^^
File "/builddir/build/BUILD/Cython-3.0.11-build/cython-3.0.11/Cython/Distutils/build_ext.py", line 130, in build_extension
new_ext = cythonize(
~~~~~~~~~^
ext,force=self.force, quiet=self.verbose == 0, **options
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)[0]
^
File "/builddir/build/BUILD/Cython-3.0.11-build/cython-3.0.11/Cython/Build/Dependencies.py", line 1154, in cythonize
cythonize_one(*args)
~~~~~~~~~~~~~^^^^^^^
File "/builddir/build/BUILD/Cython-3.0.11-build/cython-3.0.11/Cython/Build/Dependencies.py", line 1321, in cythonize_one
raise CompileError(None, pyx_file)
Cython.Compiler.Errors.CompileError: /builddir/build/BUILD/Cython-3.0.11-build/cython-3.0.11/Cython/Compiler/Parsing.py
Building wheel for Cython (pyproject.toml): finished with status 'error'
Code to reproduce the behaviour:
No response
Expected behaviour
No response
OS
Fedora Linux
Python version
Python 3.14.0a1
Cython version
3.0.11
Additional context
Build happened in our test build system. Happy to test fixes.
tacaswell and hroncok