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.
PR to pin the Cython version and use the compat package for now: https://src.fedoraproject.org/rpms/MUSIC/pull-request/2
This bug appears to have been reported against 'rawhide' during the Fedora Linux 39 development cycle. Changing version to 39.
We need to wait for the new cython 3.0.6 version from the looks of it.
- we need Cython 3.0.6 (bz2251973) - we need https://github.com/INCF/MUSIC/commit/f007845154d21613935186d0bbd1557ad6c23728 - this package FTBFS with openmpi 5 anyway (bz2246998)
FEDORA-2023-0a19676e01 has been submitted as an update to Fedora 40. https://bodhi.fedoraproject.org/updates/FEDORA-2023-0a19676e01
FEDORA-2023-0a19676e01 has been pushed to the Fedora 40 stable repository. If problem still persists, please make note of it in this bug report.