-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cython 3.0.0b1 and its impact on packages in Fedora #5305
Comments
A few comments on some of the more obvious ones:
This is a fairly large deliberately breaking change. They likely need to add
The above is possibly true for some cases, but looking at one of the examples (https://github.com/Theano/libgpuarray/blob/9cec61435c11cf2ffcf7c480c2d524772585c47f/pygpu/collectives.pyx#L394) it's just that we use language_level_3 by default, so int/int now returns a float. That's on them to fix, but it'll be a case of specifying language_level=2
That's on them!
Fixed in current master
Should only be a warning for now
Probably to do with I guess the one thing to add is: it's legitimate for things to specify a version of Cython as part of their build process which doesn't have to be the system one. So not everyone necessarily needs to have to upgrade right now. Thanks for the thorough list! |
|
I've created a PR for PySpike (mariomulansky/PySpike#68) - they're doing something slightly odd with paths and I don't think it's really on us to support it |
I think most of the libarrow issues are because they have |
Out of 181 packages, 67 of them succeeded with legacy Cython `0.29.33` but failed with `3.0.0b1`. 21 packages failed with both Cythons
So - 93 of 160 packages built out of the box with Cython 3.0? That's great for a new major release with intentional breaking changes, I'd say.
|
We're tracking this in Gentoo at https://bugs.gentoo.org/897934 (see https://bugs.gentoo.org/showdependencytree.cgi?id=897934&hide_resolved=1 for a nice view) as well. |
or using the |
Yes, however we are focusing on Python 3.12.0b1 at this moment. We can fire up the builds but won't have time to analyze the logs any time soon. |
I have some numbers without looking into the logs. Previously with Cython 3.0.0b1:
Now with Cython 3.0.0b3: Out of 198 packages, 119 of them succeeded with Cython 3, and 65 of them succeeded with legacy Cython
Cython 3.0.0b3 + all packages depending on it Cython 0.29.34 + all packages that failed above (succeeded means failed with new Cython, but works with the old one, failed means failed with both Cythons, hence possibly some unrelated reason) |
I think that with Cython 3.0 released to prod we don't need to keep this issue opened. If someone disagrees feel free to reopen it. |
Describe your issue
Hello,
I've tried to rebuild all Python packages in Fedora Rawhide (Fedora 39, development version) requiring Cython with new Cython
3.0.0b1
. Out of 181 packages, 67 of them succeeded with legacy Cython0.29.33
but failed with3.0.0b1
. 21 packages failed with both Cythons, those were ignored. I used Python 3.11.2 on x86_64. I went through the logs and I'd like to present the failures I've encountered. I've only kept very small log snippets to save some space. If you are curious about the complete logs, each package name links to COPR build system where you can find it. E.g. scipy, to see a log, click on build ID and then choosebuilder-live.log.gz
(choose the one in the table at the bottom, not the one that says Source build logs). I've grouped the failures that I assumed are similar enough.The logs might be garbage-collected in few weeks. Feel free to ping me or @hroncok to restart the build.
Cannot assign type 'XXX (YYY) except * nogil' to 'XXX (YYY) noexcept (20 affected projects)
- ceph
- grpc
- libfreenect
- mlpack
- petsc
- pyliblo
- pyproj
- python-basemap
- python-calcephy
- python-cipari2
- python-gbinder
- python-kmod
- python-llfuse
- python-lxml
- python-pari-jupyter
- python-peewee
- python-rtmidi
- python-uamqp
- setools
- vapoursynth
Cannot assign type 'XXX (YYY) except? -1 nogil' to 'ZZZ *' (14 affected projects)
- cantera
- ceph
- h5py
- mlpack
- petsc
- pyliblo
- python-gbinder
- python-lxml
- python-peewee
- python-pymssql
- python-smartcols
- python-tables
- scipy
- urh
(others) Cannot assign type 'XXX' to 'YYY' (7 affected projects)
- libgpuarray
- music
- pygame
- python-jnius
- python-peewee
- python-pysam
- python-statmodels
is not a type identifier (5 affected projects)
- libarrow
- mlpack
- python-cysignals
- python-giacpy
- python-pyedflib
Various cimports/imports not found (3+2 affected projects)
- mlpack
- python-giacpy
- python-pyedflib
- numpy
- python-healpy
Cannot convert Python object to '' (4 affected projects)
- libarrow
- python-cysignals
- python-gevent
- sagemath
Compiler crash in AnalyseExpressionsTransform (3 affected projects)
- mlpack
- python-pyedflib
- python-pywt
Pinned Cython < 3 version (3 projects)
- python-neatdend
- python-shapely
- python-uvloop
undefined symbol PyMemoryview_Check (2 affected projects)
- borgbackup
- netcdf4
ambiguous overloaded method (2 affected projects)
- cantera
- libarrow
no suitable method found (2 affected projects)
- cantera
- libarrow
The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython. (2 affected projects)
- libarrow
- python-cysignals
cimported module has no attribute 'numpy_to_mat_d' (2 affected projects)
- mlpack
- python-pyedflib
TypeError: unsupported operand type(s) for -: 'XXX' and 'YYY' (2 affected projects)
- python-cftime
- python-orderedset
Cannot convert '' to Python object (2 affected projects)
- libarrow
- python-cysignals
undeclared name not builtin: XXX (2 affected project)
- libarrow
- python-cysignals
error: unknown file type '.pyx'/'.pxd' (2 affected project)
- python-compreffor
- python-hidapi
Rvalue-reference as function argument not supported (1 affected project)
- libarrow
First base of 'ScalarUdfContext' is not an extension type (1 affected project)
- libarrow
Storing unsafe C derivative of temporary Python reference (1 affected project)
- libarrow
Casting temporary Python object to non-numeric non-Python type (1 affected project)
- libarrow
Invalid operand type for '*' (Python object) (1 affected project)
- libarrow
Type is not specialized (1 affected project)
- mlpack
Invalid types for '!=' (Python object, void *) (1 affected project)
- python-cysignals
AttributeError: module 'collections' has no attribute 'MutableSequence' (1 affected project)
- python-djvulibre
TypeError: Argument 'x' has incorrect type (expected float, got int) (1 affected project)
- python-ezdxf
TypeError: can only concatenate tuple (not "ezdxf.acc.vector.Vec3") to tuple (1 affected project)
- python-ezdxf
AttributeError: module 'asgi._cythonized' has no attribute 'TestResourceWithHooksNoHintAfter' (1 affected project)
- python-falcon
'PyObjectType' object has no attribute 'entry' (1 affected project)
- python-fastavro
conflicting declaration of ‘bool evaluator_callback_call_obj(PyObject*, int, double*)’ with ‘C++’ linkage" (1 affected project)
- python-fpyll
Cannot assign None to bint (1 affected project)
- python-giacpy
'context_ptr' is not a constant, variable or function identifier (1 affected project)
- python-giacpy
AttributeError: partially initialized module 'gssapi' has no attribute 'register_value' (1 affected project)
- python-giacpy
AttributeError: module 'os' has no attribute 'XXX' (1 affected project)
- python-indexed_gzip
TypeError: 'float' object cannot be interpreted as an integer (1 affected project)
- python-indexed_gzip
Syntax error in simple statement list (1 affected project)
- python-pyclipper
Invalid index type 'double' (1 affected project)
- python-pysam
TypeError: expected str, bytes or os.PathLike object, not numpy_include (1 affected project)
- python-pyspike
AttributeError: cython_sources (1 affected project)
- PyYAML
error: redefinition of '__Pyx_Enum_ibv_wc_status_to_py' (1 affected project)
- rdma-core
No such file or directory: 'editdistance-s/bycython.pyx' (1 affected project)
- python-editdistance
The text was updated successfully, but these errors were encountered: