Description
Description
Hi,
I'm building wheels of a C++/CMake project (https://github.com/patrikhuber/eos) with cibuildwheel. The Windows and Linux cibuildwheel builds work fine, and macos cp37-macosx_x86_64 and cp38-macosx_x86_64 build fine. But the first macos arm64 wheel, cp38-macosx_arm64, fails at the "Reparing wheel" step:
Building wheel...
+ python -m pip wheel /Users/runner/work/eos/eos --wheel-dir=/private/var/folders/x4/dc0wnrqs60v8cfdj3vx06s1h0000gn/T/cibw-run-67h7fric/cp38-macosx_arm64/built_wheel --no-deps
Processing /Users/runner/work/eos/eos
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Preparing metadata (pyproject.toml): started
Preparing metadata (pyproject.toml): finished with status 'done'
Building wheels for collected packages: eos-py
Building wheel for eos-py (pyproject.toml): started
Building wheel for eos-py (pyproject.toml): still running...
Building wheel for eos-py (pyproject.toml): finished with status 'done'
Created wheel for eos-py: filename=eos_py-1.5.0-cp38-cp38-macosx_11_0_arm64.whl size=607694 sha256=577bb44df95eac705098e3911712f6e6a5f3c9863d9ff12b044a28d61bd8590a
Stored in directory: /private/var/folders/x4/dc0wnrqs60v8cfdj3vx06s1h0000gn/T/pip-ephem-wheel-cache-pv7_rlly/wheels/88/16/da/1b56921bcca532fb8d60b9de70e13ab41100089e255fc6708a
Successfully built eos-py
✓ 79.13s
Repairing wheel...
+ delocate-wheel --require-archs arm64 -w /private/var/folders/x4/dc0wnrqs60v8cfdj3vx06s1h0000gn/T/cibw-run-67h7fric/cp38-macosx_arm64/repaired_wheel -v /private/var/folders/x4/dc0wnrqs60v8cfdj3vx06s1h0000gn/T/cibw-run-67h7fric/cp38-macosx_arm64/built_wheel/eos_py-1.5.0-cp38-cp38-macosx_11_0_arm64.whl
Fixing: /private/var/folders/x4/dc0wnrqs60v8cfdj3vx06s1h0000gn/T/cibw-run-67h7fric/cp38-macosx_arm64/built_wheel/eos_py-1.5.0-cp38-cp38-macosx_11_0_arm64.whl
Traceback (most recent call last):
File "/private/var/folders/x4/dc0wnrqs60v8cfdj3vx06s1h0000gn/T/cibw-run-67h7fric/cp38-macosx_arm64/build/venv/bin/delocate-wheel", line 8, in <module>
sys.exit(main())
File "/private/var/folders/x4/dc0wnrqs60v8cfdj3vx06s1h0000gn/T/cibw-run-67h7fric/cp38-macosx_arm64/build/venv/lib/python3.8/site-packages/delocate/cmd/delocate_wheel.py", line 116, in main
copied = delocate_wheel(
File "/private/var/folders/x4/dc0wnrqs60v8cfdj3vx06s1h0000gn/T/cibw-run-67h7fric/cp38-macosx_arm64/build/venv/lib/python3.8/site-packages/delocate/delocating.py", line 1090, in delocate_wheel
out_wheel_fixed = _check_and_update_wheel_name(
File "/private/var/folders/x4/dc0wnrqs60v8cfdj3vx06s1h0000gn/T/cibw-run-67h7fric/cp38-macosx_arm64/build/venv/lib/python3.8/site-packages/delocate/delocating.py", line 914, in _check_and_update_wheel_name
new_name, problematic_files = _calculate_minimum_wheel_name(
File "/private/var/folders/x4/dc0wnrqs60v8cfdj3vx06s1h0000gn/T/cibw-run-67h7fric/cp38-macosx_arm64/build/venv/lib/python3.8/site-packages/delocate/delocating.py", line 848, in _calculate_minimum_wheel_name
raise DelocationError(
delocate.libsana.DelocationError: Failed to find any binary with the required architecture: 'arm64'
Error: Command delocate-wheel --require-archs arm64 -w /private/var/folders/x4/dc0wnrqs60v8cfdj3vx06s1h0000gn/T/cibw-run-67h7fric/cp38-macosx_arm64/repaired_wheel -v /private/var/folders/x4/dc0wnrqs60v8cfdj3vx06s1h0000gn/T/cibw-run-67h7fric/cp38-macosx_arm64/built_wheel/eos_py-1.5.0-cp38-cp38-macosx_11_0_arm64.whl failed with code 1.
I fail to see why delocate-wheel
would fail to find the binary: It looks for eos_py-1.5.0-cp38-cp38-macosx_11_0_arm64.whl
, and that is exactly the file that the "Building wheel" step built.
This might be related to #2080, but in that other issue, the user reports that the build step actually builds a wheel named x86_64 instead of an arm64 wheel. In my case, the file name looks correct and contains arm64. But perhaps it still built an x64 wheel and just named it "...arm64"?
I should note that all my builds ran through fine with cibuildwheel 2.15.0 (though I don't have a Mac to actually test whether the built wheels are arm64, like the filename says they are - https://pypi.org/project/eos-py/#files), this issue only started today when I updated my CI script to use cibuildwheel~=2.22.0.
Build log
CI config
https://github.com/patrikhuber/eos/blob/master/.github/workflows/cibuildwheel.yml