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

Build fails from Git with Linux 3.14 no-GIL #129

Open
clin1234 opened this issue Aug 15, 2024 · 1 comment
Open

Build fails from Git with Linux 3.14 no-GIL #129

clin1234 opened this issue Aug 15, 2024 · 1 comment

Comments

@clin1234
Copy link

(venv) @clin1234 ➜ /workspaces $ pip install jiter
Collecting jiter
  Using cached jiter-0.5.0.tar.gz (158 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: jiter
  Building wheel for jiter (pyproject.toml) ... error
  error: subprocess-exited-with-error
  
  × Building wheel for jiter (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [37 lines of output]
      Running `maturin pep517 build-wheel -i /workspaces/venv/bin/python3.14t --compatibility off`
      🔗 Found pyo3 bindings
      🐍 Found CPython 3.14t at /workspaces/venv/bin/python3.14t
      📡 Using build options features, bindings from pyproject.toml
         Compiling target-lexicon v0.12.14
         Compiling once_cell v1.19.0
         Compiling autocfg v1.3.0
         Compiling proc-macro2 v1.0.86
         Compiling pyo3-build-config v0.22.0
         Compiling unicode-ident v1.0.12
         Compiling libc v0.2.155
         Compiling num-traits v0.2.19
         Compiling quote v1.0.36
         Compiling pyo3-macros-backend v0.22.0
         Compiling pyo3-ffi v0.22.0
         Compiling syn v2.0.68
      error: failed to run custom build command for `pyo3-ffi v0.22.0`
      
      Caused by:
        process didn't exit successfully: `/tmp/pip-install-az1brkny/jiter_141d0b22fd4248418b20e5c69073be19/target/release/build/pyo3-ffi-1e77daa46262542a/build-script-build` (exit status: 1)
        --- stdout
        cargo:rerun-if-env-changed=PYO3_CROSS
        cargo:rerun-if-env-changed=PYO3_CROSS_LIB_DIR
        cargo:rerun-if-env-changed=PYO3_CROSS_PYTHON_VERSION
        cargo:rerun-if-env-changed=PYO3_CROSS_PYTHON_IMPLEMENTATION
        cargo:rerun-if-env-changed=PYO3_PRINT_CONFIG
        cargo:rerun-if-env-changed=PYO3_USE_ABI3_FORWARD_COMPATIBILITY
      
        --- stderr
        error: the configured Python interpreter version (3.14) is newer than PyO3's maximum supported version (3.13)
        = help: please check if an updated version of PyO3 is available. Current version: 0.22.0
        = help: set PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 to suppress this check and build anyway using the stable ABI
      warning: build failed, waiting for other jobs to finish...
      💥 maturin failed
        Caused by: Failed to build a native library through cargo
        Caused by: Cargo build finished with "exit status: 101": `env -u CARGO PYO3_ENVIRONMENT_SIGNATURE="cpython-3.14-64bit" PYO3_PYTHON="/workspaces/venv/bin/python3.14t" PYTHON_SYS_EXECUTABLE="/workspaces/venv/bin/python3.14t" "cargo" "rustc" "--features" "pyo3/extension-module" "--message-format" "json-render-diagnostics" "--manifest-path" "/tmp/pip-install-az1brkny/jiter_141d0b22fd4248418b20e5c69073be19/crates/jiter-python/Cargo.toml" "--release" "--lib" "--crate-type" "cdylib"`
      Error: command ['maturin', 'pep517', 'build-wheel', '-i', '/workspaces/venv/bin/python3.14t', '--compatibility', 'off'] returned non-zero exit status 1
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for jiter
Failed to build jiter
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (jiter)
(venv) @clin1234 ➜ /workspaces $  PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 pip install jiter
Collecting jiter
  Using cached jiter-0.5.0.tar.gz (158 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: jiter
  Building wheel for jiter (pyproject.toml) ... error
  error: subprocess-exited-with-error
  
  × Building wheel for jiter (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [102 lines of output]
      Running `maturin pep517 build-wheel -i /workspaces/venv/bin/python3.14t --compatibility off`
      🔗 Found pyo3 bindings
      🐍 Found CPython 3.14t at /workspaces/venv/bin/python3.14t
      📡 Using build options features, bindings from pyproject.toml
         Compiling target-lexicon v0.12.14
         Compiling once_cell v1.19.0
         Compiling autocfg v1.3.0
         Compiling proc-macro2 v1.0.86
         Compiling pyo3-build-config v0.22.0
         Compiling libc v0.2.155
         Compiling unicode-ident v1.0.12
         Compiling num-traits v0.2.19
         Compiling pyo3-macros-backend v0.22.0
         Compiling pyo3-ffi v0.22.0
         Compiling quote v1.0.36
         Compiling syn v2.0.68
         Compiling memoffset v0.9.1
         Compiling cfg-if v1.0.0
         Compiling static_assertions v1.1.0
         Compiling heck v0.5.0
         Compiling version_check v0.9.4
         Compiling radium v0.7.0
         Compiling ahash v0.8.11
         Compiling lexical-util v0.8.5
         Compiling num-integer v0.1.46
         Compiling pyo3 v0.22.0
         Compiling tap v1.0.1
         Compiling wyz v0.5.1
         Compiling num-bigint v0.4.5
         Compiling pyo3-macros v0.22.0
         Compiling lexical-parse-integer v0.8.6
         Compiling getrandom v0.2.15
         Compiling jiter v0.5.0 (/tmp/pip-install-t7y4lu8r/jiter_8bdd178849954a6c817f2ca61929b00f/crates/jiter)
         Compiling indoc v2.0.5
         Compiling funty v2.0.0
         Compiling zerocopy v0.7.34
         Compiling unindent v0.2.3
         Compiling bitvec v1.0.1
         Compiling lexical-parse-float v0.8.5
         Compiling smallvec v1.13.2
      error[E0425]: cannot find function, tuple struct or tuple variant `PyUnicode_New` in module `pyo3::ffi`
         --> crates/jiter/src/py_string_cache.rs:205:26
          |
      205 |       let ptr = pyo3::ffi::PyUnicode_New(s.len() as isize, 127);
          |                            ^^^^^^^^^^^^^ help: a function with a similar name exists: `PySlice_New`
          |
         ::: /home/codespace/.cargo/registry/src/index.crates.io-6f17d22bba15001f/pyo3-ffi-0.22.0/src/sliceobject.rs:50:5
          |
      50  | /     pub fn PySlice_New(
      51  | |         start: *mut PyObject,
      52  | |         stop: *mut PyObject,
      53  | |         step: *mut PyObject,
      54  | |     ) -> *mut PyObject;
          | |______________________- similarly named function `PySlice_New` defined here
      
      error[E0425]: cannot find function, tuple struct or tuple variant `PyUnicode_KIND` in module `pyo3::ffi`
         --> crates/jiter/src/py_string_cache.rs:207:33
          |
      207 |       debug_assert_eq!(pyo3::ffi::PyUnicode_KIND(ptr), pyo3::ffi::PyUnicode_1BYTE_KIND);
          |                                   ^^^^^^^^^^^^^^ help: a function with a similar name exists: `PyUnicode_Find`
          |
         ::: /home/codespace/.cargo/registry/src/index.crates.io-6f17d22bba15001f/pyo3-ffi-0.22.0/src/unicodeobject.rs:299:5
          |
      299 | /     pub fn PyUnicode_Find(
      300 | |         str: *mut PyObject,
      301 | |         substr: *mut PyObject,
      302 | |         start: Py_ssize_t,
      303 | |         end: Py_ssize_t,
      304 | |         direction: c_int,
      305 | |     ) -> Py_ssize_t;
          | |___________________- similarly named function `PyUnicode_Find` defined here
      
      error[E0425]: cannot find value `PyUnicode_1BYTE_KIND` in module `pyo3::ffi`
         --> crates/jiter/src/py_string_cache.rs:207:65
          |
      207 |     debug_assert_eq!(pyo3::ffi::PyUnicode_KIND(ptr), pyo3::ffi::PyUnicode_1BYTE_KIND);
          |                                                                 ^^^^^^^^^^^^^^^^^^^^ not found in `pyo3::ffi`
      
      error[E0425]: cannot find function, tuple struct or tuple variant `PyUnicode_DATA` in module `pyo3::ffi`
         --> crates/jiter/src/py_string_cache.rs:208:31
          |
      208 |       let data_ptr = pyo3::ffi::PyUnicode_DATA(ptr).cast();
          |                                 ^^^^^^^^^^^^^^ help: a function with a similar name exists: `PyUnicode_Find`
          |
         ::: /home/codespace/.cargo/registry/src/index.crates.io-6f17d22bba15001f/pyo3-ffi-0.22.0/src/unicodeobject.rs:299:5
          |
      299 | /     pub fn PyUnicode_Find(
      300 | |         str: *mut PyObject,
      301 | |         substr: *mut PyObject,
      302 | |         start: Py_ssize_t,
      303 | |         end: Py_ssize_t,
      304 | |         direction: c_int,
      305 | |     ) -> Py_ssize_t;
          | |___________________- similarly named function `PyUnicode_Find` defined here
      
      For more information about this error, try `rustc --explain E0425`.
      error: could not compile `jiter` (lib) due to 4 previous errors
      warning: build failed, waiting for other jobs to finish...
      💥 maturin failed
        Caused by: Failed to build a native library through cargo
        Caused by: Cargo build finished with "exit status: 101": `env -u CARGO PYO3_ENVIRONMENT_SIGNATURE="cpython-3.14-64bit" PYO3_PYTHON="/workspaces/venv/bin/python3.14t" PYTHON_SYS_EXECUTABLE="/workspaces/venv/bin/python3.14t" "cargo" "rustc" "--features" "pyo3/extension-module" "--message-format" "json-render-diagnostics" "--manifest-path" "/tmp/pip-install-t7y4lu8r/jiter_8bdd178849954a6c817f2ca61929b00f/crates/jiter-python/Cargo.toml" "--release" "--lib" "--crate-type" "cdylib"`
      Error: command ['maturin', 'pep517', 'build-wheel', '-i', '/workspaces/venv/bin/python3.14t', '--compatibility', 'off'] returned non-zero exit status 1
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for jiter
Failed to build jiter
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (jiter)
@davidhewitt
Copy link
Collaborator

Python 3.14 is a bleeding edge dev build which PyO3 is unlikely to support for a while. Work is still ongoing to support 3.13t in PyO3; you can track that here: PyO3/pyo3#4265

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