Skip to content

Problem building pyodide wheels with cibuildwheel tool when actions/setup-python sets the same Python version as the Pyodide Python versionΒ #2566

@andyfaff

Description

@andyfaff

Description

I'm trying to modify numpy/numpy-releases to build the numpy wheels for pyodide. numpy-releases is going to be the minimal repo for build artifacts. We try to limit exposure to a wider spread of github actions, apart from those absolutely necessary.

One step uses actions/setup-python to install Python. The next step uses a python -m cibuildwheel invocation to build the relevant wheel. However, there are issues building the cp312-pyodide_wasm32/cp313-pyodide_wasm32 candidates.

I think there is a path somewhere that is being set up incorrectly. If actions/setup-python installs python3.12 then the cp312-pyodide_wasm32 entry fails during the build process, but the cp313-pyodide_wasm32 succeeds. If actions/setup-python installs python3.13 then the cp313-pyodide_wasm32 entry fails, but the cp312_pyodide_wasm32 succeeds.
If I do a pre-release install of python3.14 then both the cp312 and cp313 wheels build successfully.

Note that using the pypa/cibuildwheel action works to build both cp312 and cp313, it's only the command line call of python -m cibuildwheel that doesn't work.

The reason I think it's a path issue is because the fail has a build error along the lines of:

  /opt/hostedtoolcache/Python/3.13.7/x64/include/python3.13/pyport.h:399:2: error: "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)."
    399 | #error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)."

which means that there's an bitness incompatibility somewhere. e.g. the headers might be picked up from one Python install but the libraries might be from another.

It's not clear to me if this issue belongs in cibuildwheel or in actions/setup-python. The CI config below is for the PR I'm trying make for the pyodide build. There's a lot of commits from me doing the fault finding above.

Build log

https://github.com/numpy/numpy-release/actions/runs/17115057979/job/48544209219

CI config

numpy/numpy-release#7

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions