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

[BUG] pylibraft compilation errors with Cython 3.1 nightlies #2491

Open
jameslamb opened this issue Nov 13, 2024 · 0 comments
Open

[BUG] pylibraft compilation errors with Cython 3.1 nightlies #2491

jameslamb opened this issue Nov 13, 2024 · 0 comments
Labels
bug Something isn't working

Comments

@jameslamb
Copy link
Member

Describe the bug

I recently observed pylibraft compilation errors in this project's pip devcontainer and not in any other wheel builds, like this:

Error compiling Cython file:
------------------------------------------------------------

cdef device_matrix_view[const_float, int64_t, row_major]
^

/home/coder/raft/python/pylibraft/pylibraft/common/mdspan.pyx:203:0: Function signature does not match previous declaration

ref: #2490 (comment)

The root cause, per #2490 (comment), is that those builds were pulling in a pre-release of Cython 3.1.

Downloading Cython-3.1.0a1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.2 kB)

That was "fixed" in #2490 by pinning to cython<=3.0.11, but we should work to remove that ceiling.

Specifically, we should:

  1. create a smaller, not-RAFT-specific minimum reproducible example
  2. modify RAFT source code and/or submit a bug report upstream with Cython
  3. remove the ceiling

Steps/Code to reproduce bug

Modify this project's Cython dependency to something like `cython>=3.1.0a0' and try to build in the pip devcontainer.

Expected behavior

Successful builds of pylibraft with Cython 3.1.

Environment details (please complete the following information):

N/A

Additional context

N/A

@jameslamb jameslamb added the bug Something isn't working label Nov 13, 2024
rapids-bot bot pushed a commit that referenced this issue Nov 14, 2024
…on Cython dependency (#2490)

Contributes to rapidsai/build-planning#110

Proposes adding 2 types of validation on wheels in CI, to ensure we continue to produce wheels that are suitable for PyPI.

* checks on wheel size (compressed),
  - *to be sure they're under PyPI limits*
  - *and to prompt discussion on PRs that significantly increase wheel sizes*
* checks on README formatting
  - *to ensure they'll render properly as the PyPI project homepages*
  - *e.g. like how https://github.com/scikit-learn/scikit-learn/blob/main/README.rst becomes https://pypi.org/project/scikit-learn/*

Also puts a ceiling on Cython to its latest stable release (`<=3.0.11`), to fix #2490 (comment). Work to relax that is tracked in (#2491).

Authors:
  - James Lamb (https://github.com/jameslamb)

Approvers:
  - Bradley Dice (https://github.com/bdice)

URL: #2490
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant