Bug 2224366 - MUSIC is not compatible with Cython 3
Summary: MUSIC is not compatible with Cython 3
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: MUSIC
Version: 39
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Ankur Sinha (FranciscoD)
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-07-20 14:41 UTC by Ben Beasley
Modified: 2023-08-16 07:19 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Ben Beasley 2023-07-20 14:41:20 UTC
Description of problem:

MUSIC is not compatible with Cython 3

Version-Release number of selected component (if applicable): 1.1.16-11.20201002git8c6b77a.fc39


How reproducible:


Steps to Reproduce:
1. Ensure the spec file does not upper-bound the Cython version
2. Build the package

Actual results:

[1/1] Cythonizing pybuffer.pyx
make[2]: Leaving directory '/builddir/build/BUILD/MUSIC-8c6b77a5780c0c66191aa7e8f07f9d33614dcc16/MUSIC-8c6b77a5780c0c66191aa7e8f07f9d33614dcc16-mpich/pymusic'
/usr/lib64/python3.12/site-packages/Cython/Compiler/Main.py:381: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3). This has changed from earlier releases! File: /builddir/build/BUILD/MUSIC-8c6b77a5780c0c66191aa7e8f07f9d33614dcc16/MUSIC-8c6b77a5780c0c66191aa7e8f07f9d33614dcc16-mpich/pymusic/pybuffer.pxd
  tree = Parsing.p_module(s, pxd, full_module_name)
warning: pyconfig.pxi:1:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
warning: pybuffer.pxd:8:0: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310

Error compiling Cython file:
------------------------------------------------------------
...
            raise TypeError("object does not present buffer interface")

        cdef Py_buffer* pybuf = &self.pybuf
        PyObject_GetBuffer(data, pybuf, bufflags)
        self.dtype = TypeDict[getformat(pybuf)]
        self.items = pybuf.len / pybuf.itemsize
                               ^
------------------------------------------------------------

pybuffer.pyx:63:31: Cannot assign type 'double' to 'Py_ssize_t'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib64/python3.12/site-packages/Cython/Build/Dependencies.py", line 1134, in cythonize
    cythonize_one(*args)
  File "/usr/lib64/python3.12/site-packages/Cython/Build/Dependencies.py", line 1301, in cythonize_one
    raise CompileError(None, pyx_file)
Cython.Compiler.Errors.CompileError: pybuffer.pyx


Expected results:

Package builds with Cython 3.

Additional info:

This is probably pretty straightforward to fix. I’m not looking into it right now, though, and I have not attempted to report it upstream. I do not know if this is fixed in the latest release, bug 2224362; I doubt it.

Comment 1 Ben Beasley 2023-07-20 14:46:54 UTC
PR to pin the Cython version and use the compat package for now: https://src.fedoraproject.org/rpms/MUSIC/pull-request/2

Comment 2 Fedora Release Engineering 2023-08-16 07:19:48 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 39 development cycle.
Changing version to 39.


Note You need to log in before you can comment on or make changes to this bug.