Skip to content
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 failure with Cython 3.0.0b2 #78

Closed
mgorny opened this issue May 10, 2023 · 1 comment
Closed

Cython failure with Cython 3.0.0b2 #78

mgorny opened this issue May 10, 2023 · 1 comment
Assignees
Milestone

Comments

@mgorny
Copy link
Contributor

mgorny commented May 10, 2023

When using Cython 3.0.0b2 (we're doing early testing to make sure everything works for 3.0.0 release), llfuse fails with the following error:

running build_cython
Compiling /tmp/portage/dev-python/llfuse-1.4.3/work/llfuse-1.4.3/src/llfuse.pyx

Error compiling Cython file:
------------------------------------------------------------
...
            wd[i].bufsize = bufsize
            wd[i].buf = calloc_or_raise(1, bufsize)

            # Ensure that signals get delivered to main thread
            pthread_sigmask(SIG_BLOCK, &newset, &oldset)
            res = pthread_create(&wd[i].thread_id, NULL, &worker_start, wd+i)
                                                         ^
------------------------------------------------------------

src/fuse_api.pxi:439:57: Cannot assign type 'void *(*)(void *) except * nogil' to 'void *(*)(void *) noexcept nogil'
/tmp/portage/dev-python/llfuse-1.4.3/work/llfuse-1.4.3/setup.py:226: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
  if not hit or LooseVersion(hit.group(1)) < "0.29":
Cython compilation failed

(you can install it via pip install Cython==3.0.0b2)

@ThomasWaldmann
Copy link
Collaborator

cython/cython#5305 (comment)

> Cannot assign type 'XXX (YYY) except * nogil' to 'XXX (YYY) noexcept (20 affected projects)
> Cannot assign type 'XXX (YYY) except? -1 nogil' to 'ZZZ *' (14 affected projects)

This is a fairly large deliberately breaking change.
They likely need to add noexcept to some cdef function definitions.

ThomasWaldmann added a commit to ThomasWaldmann/python-llfuse that referenced this issue May 13, 2023
@ThomasWaldmann ThomasWaldmann self-assigned this May 13, 2023
@ThomasWaldmann ThomasWaldmann added this to the 1.4.4 milestone May 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants