Skip to content

cython 3.0.11 breaks building sagemath-standard #794

@kiwifb

Description

@kiwifb

As the title says. The final error is reminiscent of #783 but in the end quite different in its causes.

  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/usr/lib/python3.12/site-packages/gpep517/__main__.py", line 443, in <module>
    sys.exit(main())
             ^^^^^^
  File "/usr/lib/python3.12/site-packages/gpep517/__main__.py", line 439, in main
    return func(args)
           ^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/gpep517/__main__.py", line 229, in build_wheel
    print(build_wheel_impl(args, args.wheel_dir), file=out)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/gpep517/__main__.py", line 221, in build_wheel_impl
    wheel_name = backend.build_wheel(str(wheel_dir), args.config_json)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/setuptools/build_meta.py", line 415, in build_wheel
    return self._build_with_temp_dir(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/setuptools/build_meta.py", line 397, in _build_with_temp_dir
    self.run_setup()
  File "/usr/lib/python3.12/site-packages/setuptools/build_meta.py", line 313, in run_setup
    exec(code, locals())
  File "<string>", line 95, in <module>
  File "/usr/lib/python3.12/site-packages/setuptools/__init__.py", line 108, in setup
    return distutils.core.setup(**attrs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/setuptools/_distutils/core.py", line 184, in setup
    return run_commands(dist)
           ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/setuptools/_distutils/core.py", line 200, in run_commands
    dist.run_commands()
  File "/usr/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 970, in run_commands
    self.run_command(cmd)
  File "/usr/lib/python3.12/site-packages/setuptools/dist.py", line 956, in run_command
    super().run_command(command)
  File "/usr/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 989, in run_command
    cmd_obj.run()
  File "/usr/lib/python3.12/site-packages/setuptools/command/bdist_wheel.py", line 373, in run
    self.run_command("build")
  File "/usr/lib/python3.12/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command
    self.distribution.run_command(command)
  File "/usr/lib/python3.12/site-packages/setuptools/dist.py", line 956, in run_command
    super().run_command(command)
  File "/usr/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 989, in run_command
    cmd_obj.run()
  File "/usr/lib/python3.12/site-packages/setuptools/_distutils/command/build.py", line 135, in run
    self.run_command(cmd_name)
  File "/usr/lib/python3.12/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command
    self.distribution.run_command(command)
  File "/usr/lib/python3.12/site-packages/setuptools/dist.py", line 956, in run_command
    super().run_command(command)
  File "/usr/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 989, in run_command
    cmd_obj.run()
  File "/usr/lib/python3.12/site-packages/sage_setup/command/sage_build_ext.py", line 25, in run
    self.run_command('build_cython')
  File "/usr/lib/python3.12/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command
    self.distribution.run_command(command)
  File "/usr/lib/python3.12/site-packages/setuptools/dist.py", line 956, in run_command
    super().run_command(command)
  File "/usr/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 989, in run_command
    cmd_obj.run()
  File "/usr/lib/python3.12/site-packages/sage_setup/command/sage_build_cython.py", line 220, in run
    extensions = cythonize(
                 ^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/Cython/Build/Dependencies.py", line 1150, in cythonize
    result.get(99999)  # seconds
    ^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/multiprocessing/pool.py", line 774, in get
    raise self._value
Cython.Compiler.Errors.CompileError: sage/matroids/circuit_closures_matroid.pyx

but in fact this starts much earlier during cythonizing


Error compiling Cython file:
------------------------------------------------------------
...
        """
        self._pack(self._input, F)
        self.__max_independent(self._output, self._input)
        return self.__unpack(self._output)

    cpdef int _rank(self, frozenset F):
          ^
------------------------------------------------------------

sage/matroids/basis_exchange_matroid.pyx:655:10: Signature not compatible with previous declaration

Error compiling Cython file:
------------------------------------------------------------
...
    cdef int _stored_full_rank
    cdef int _stored_size

    # virtual methods
    cpdef frozenset groundset(self)
    cpdef int _rank(self, frozenset X)
                   ^
------------------------------------------------------------

sage/matroids/matroid.pxd:12:19: Previous declaration is here
warning: sage/matroids/basis_exchange_matroid.pyx:799:21: Implicit noexcept declaration is deprecated. Function declaration should contain 'noexcept' keyword.

Error compiling Cython file:
------------------------------------------------------------
...
        """
        self._pack(self._input, F)
        self.__max_coindependent(self._output, self._input)
        return self.__unpack(self._output)

    cpdef int _corank(self, frozenset F):
          ^
------------------------------------------------------------

sage/matroids/basis_exchange_matroid.pyx:799:10: Signature not compatible with previous declaration

Error compiling Cython file:
------------------------------------------------------------
...
    # internal methods, assuming verified input
    cpdef frozenset _max_independent(self, frozenset X)
    cpdef frozenset _circuit(self, frozenset X)
    cpdef frozenset _fundamental_circuit(self, frozenset B, e)
    cpdef frozenset _closure(self, frozenset X)
    cpdef int _corank(self, frozenset X)
                     ^
------------------------------------------------------------

sage/matroids/matroid.pxd:19:21: Previous declaration is here
warning: sage/matroids/basis_exchange_matroid.pyx:943:30: Implicit noexcept declaration is deprecated. Function declaration should contain 'noexcept' keyword.

Error compiling Cython file:
------------------------------------------------------------
...
        self._pack(self._input, X)
        self._pack(self._input2, Y)
        self.__augment(self._output, self._input, self._input2)
        return self.__unpack(self._output)

    cpdef bint _is_independent(self, frozenset F):
          ^
------------------------------------------------------------

sage/matroids/basis_exchange_matroid.pyx:943:10: Signature not compatible with previous declaration

Error compiling Cython file:
------------------------------------------------------------
...
    cpdef frozenset _cocircuit(self, frozenset X)
    cpdef frozenset _fundamental_cocircuit(self, frozenset B, e)
    cpdef frozenset _coclosure(self, frozenset X)
    cpdef frozenset _augment(self, frozenset X, frozenset Y)

    cpdef bint _is_independent(self, frozenset X)
                              ^
------------------------------------------------------------

sage/matroids/matroid.pxd:26:30: Previous declaration is here
warning: sage/matroids/basis_exchange_matroid.pyx:2234:23: Implicit noexcept declaration is deprecated. Function declaration should contain 'noexcept' keyword.

Error compiling Cython file:
------------------------------------------------------------
...
            if self.__is_isomorphism(other, morphism):
                return True

        return self._characteristic_setsystem()._isomorphism(other._characteristic_setsystem(), PS, PO) is not None

    cpdef bint is_valid(self):
          ^
------------------------------------------------------------

sage/matroids/basis_exchange_matroid.pyx:2234:10: Signature not compatible with previous declaration

Error compiling Cython file:
------------------------------------------------------------
...
    cpdef is_cobasis(self, X)
    cpdef is_cocircuit(self, X)
    cpdef is_coclosed(self, X)

    # verification
    cpdef bint is_valid(self)
                       ^
------------------------------------------------------------

sage/matroids/matroid.pxd:108:23: Previous declaration is here
warning: sage/matroids/circuit_closures_matroid.pyx:182:19: Implicit noexcept declaration is deprecated. Function declaration should contain 'noexcept' keyword.

Error compiling Cython file:
------------------------------------------------------------
...
            sage: sorted(M.groundset())
            ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
        """
        return frozenset(self._groundset)

    cpdef int _rank(self, frozenset X):
          ^
------------------------------------------------------------

sage/matroids/circuit_closures_matroid.pyx:182:10: Signature not compatible with previous declaration

Error compiling Cython file:
------------------------------------------------------------
...
    cdef int _stored_full_rank
    cdef int _stored_size

    # virtual methods
    cpdef frozenset groundset(self)
    cpdef int _rank(self, frozenset X)
                   ^
------------------------------------------------------------

sage/matroids/matroid.pxd:12:19: Previous declaration is here
warning: sage/matroids/circuit_closures_matroid.pyx:224:30: Implicit noexcept declaration is deprecated. Function declaration should contain 'noexcept' keyword.

Error compiling Cython file:
------------------------------------------------------------
...
            sage: M.dual().full_rank()
            4
        """
        return self._matroid_rank

    cpdef bint _is_independent(self, frozenset F):
          ^
------------------------------------------------------------

sage/matroids/circuit_closures_matroid.pyx:224:10: Signature not compatible with previous declaration

Error compiling Cython file:
------------------------------------------------------------
...
    cpdef frozenset _cocircuit(self, frozenset X)
    cpdef frozenset _fundamental_cocircuit(self, frozenset B, e)
    cpdef frozenset _coclosure(self, frozenset X)
    cpdef frozenset _augment(self, frozenset X, frozenset Y)

    cpdef bint _is_independent(self, frozenset X)
                              ^
------------------------------------------------------------

sage/matroids/matroid.pxd:26:30: Previous declaration is here
Traceback (most recent call last):
  File "/usr/lib/python3.12/site-packages/Cython/Build/Dependencies.py", line 1350, in cythonize_one_helper
    return cythonize_one(*m)
           ^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/Cython/Build/Dependencies.py", line 1326, in cythonize_one
    raise CompileError(None, pyx_file)
Cython.Compiler.Errors.CompileError: sage/matroids/circuit_closures_matroid.pyx

this works perfectly with cython 3.0.10.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions