Skip to content

fix tests running in pypy3.10 environments #764

@willkg

Description

@willkg

I made a change and it failed in all the pypy 3.10 environments with this:

Building wheels for collected packages: bleach, MarkupSafe, nh3
  Building editable for bleach (pyproject.toml): started
  Building editable for bleach (pyproject.toml): finished with status 'done'
  Created wheel for bleach: filename=bleach-6.3.0-0.editable-py3-none-any.whl size=14183 sha256=4356560a2597bee1962b9702ae0efa1729b8dc83c9e6c62bf1da2dd8b1b849d2
  Stored in directory: /private/var/folders/p6/nlmq3k8146990kpkxl73mq340000gn/T/pip-ephem-wheel-cache-zftcgcm1/wheels/a2/3c/9c/18849749afe5159a4a9c4744996318b575a197e79cfdc67971
  Building wheel for MarkupSafe (pyproject.toml): started
  Building wheel for MarkupSafe (pyproject.toml): finished with status 'done'
  Created wheel for MarkupSafe: filename=markupsafe-3.0.3-py3-none-any.whl size=8819 sha256=4511dfed160a5341d420b67df4323bab2a2e0d297700b371d71e39c0a495c56d
  Stored in directory: /Users/runner/Library/Caches/pip/wheels/aa/d6/a2/b169d01379771865d49baf7eed18e85b0a0214fc493278d0d1
  Building wheel for nh3 (pyproject.toml): started
  Building wheel for nh3 (pyproject.toml): finished with status 'error'
  error: subprocess-exited-with-error
  
  × Building wheel for nh3 (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [100 lines of output]
      Running `maturin pep517 build-wheel -i /Users/runner/hostedtoolcache/PyPy/3.10.16/arm64/bin/python --compatibility off`
      📦 Including license file `LICENSE`
      🔗 Found pyo3 bindings with abi3 support
      🐍 Found PyPy 3.10 at /Users/runner/hostedtoolcache/PyPy/3.10.16/arm64/bin/python
Successfully built bleach MarkupSafe
      📡 Using build options features from pyproject.toml
Failed to build nh3
      ⚠️ Warning: PyPy 3.10 at /Users/runner/hostedtoolcache/PyPy/3.10.16/arm64/bin/python does not yet support abi3 so the build artifacts will be version-specific.
      💻 Using `MACOSX_DEPLOYMENT_TARGET=11.0` for aarch64-apple-darwin by default
         Compiling proc-macro2 v1.0.103
...
         Compiling autocfg v1.5.0
      error: failed to run custom build command for `pyo3-ffi v0.27.1`
      
      Caused by:
        process didn't exit successfully: `/private/var/folders/p6/nlmq3k8146990kpkxl73mq340000gn/T/pip-install-7v9mr5rb/nh3_2191fb777c5c4b7cb148079d27ef72fd/target/release/build/pyo3-ffi-afc081597c3be684/build-script-build` (exit status: 1)
        --- stdout
        cargo:rustc-check-cfg=cfg(Py_LIMITED_API)
        cargo:rustc-check-cfg=cfg(Py_GIL_DISABLED)
        cargo:rustc-check-cfg=cfg(PyPy)
        cargo:rustc-check-cfg=cfg(GraalPy)
        cargo:rustc-check-cfg=cfg(py_sys_config, values("Py_DEBUG", "Py_REF_DEBUG", "Py_TRACE_REFS", "COUNT_ALLOCS"))
        cargo:rustc-check-cfg=cfg(pyo3_disable_reference_pool)
        cargo:rustc-check-cfg=cfg(pyo3_leak_on_drop_without_reference_pool)
        cargo:rustc-check-cfg=cfg(Py_3_7)
        cargo:rustc-check-cfg=cfg(Py_3_8)
        cargo:rustc-check-cfg=cfg(Py_3_9)
        cargo:rustc-check-cfg=cfg(Py_3_10)
        cargo:rustc-check-cfg=cfg(Py_3_11)
        cargo:rustc-check-cfg=cfg(Py_3_12)
        cargo:rustc-check-cfg=cfg(Py_3_13)
        cargo:rustc-check-cfg=cfg(Py_3_14)
        cargo:rustc-check-cfg=cfg(Py_3_15)
        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
      
        --- stderr
        error: the configured PyPy interpreter version (3.10) is lower than PyO3's minimum supported version (3.11)
      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 MACOSX_DEPLOYMENT_TARGET="11.0" PYO3_BUILD_EXTENSION_MODULE="1" PYO3_ENVIRONMENT_SIGNATURE="pypy-3.10-64bit" PYO3_PYTHON="/Users/runner/hostedtoolcache/PyPy/3.10.16/arm64/bin/python" PYTHON_SYS_EXECUTABLE="/Users/runner/hostedtoolcache/PyPy/3.10.16/arm64/bin/python" "cargo" "rustc" "--profile" "release" "--features" "pyo3/extension-module" "--message-format" "json-render-diagnostics" "--manifest-path" "/private/var/folders/p6/nlmq3k8146990kpkxl73mq340000gn/T/pip-install-7v9mr5rb/nh3_2191fb777c5c4b7cb148079d27ef72fd/Cargo.toml" "--lib" "--" "-C" "link-arg=-undefined" "-C" "link-arg=dynamic_lookup" "-C" "link-args=-Wl,-install_name,@rpath/nh3.abi3.so"`
      Error: command ['maturin', 'pep517', 'build-wheel', '-i', '/Users/runner/hostedtoolcache/PyPy/3.10.16/arm64/bin/python', '--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 nh3
error: failed-wheel-build-for-install

× Failed to build installable wheels for some pyproject.toml based projects
╰─> nh3
Error: Process completed with exit code 1.

https://pypy.org/posts/2025/07/pypy-v7320-release.html suggests maybe pypy 3.10 is unsupported and we have to update to pypy 3.11.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions