-
Notifications
You must be signed in to change notification settings - Fork 36
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
Update wheels.yaml
for recent CI arch changes + Python 3.12
#329
Conversation
See: ``` ERROR: bezier-2023.7.29.dev1-cp310-cp310-macosx_14_0_x86_64.whl is not a supported wheel on this platform. ```
CIBW_ENVIRONMENT: >- | ||
MACOSX_DEPLOYMENT_TARGET=14.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is really unfortunate but Homebrew installs binaries that target the current OS (which is 14.0)
This results in delocate
failures when trying to target the minimum SDK version supported by Python. (M1 / arm64 first started in macOS 11.0 Big Sur)
...
+ delocate-wheel --require-archs arm64 -w /private/var/folders/dm/88b38gj92jj53dgxdsm12qf00000gn/T/cibw-run-lxw12ek6/cp310-macosx_arm64/repaired_wheel -v /private/var/folders/dm/88b38gj92jj53dgxdsm12qf00000gn/T/cibw-run-lxw12ek6/cp310-macosx_arm64/built_wheel/bezier-2023.7.29.dev1-cp310-cp310-macosx_11_0_arm64.whl
INFO:delocate.delocating:Copying library /Users/runner/work/bezier/bezier/.nox/.cache/libbezier-release/usr/lib/libbezier.2023.7.28.dylib to bezier/.dylibs/libbezier.2023.7.28.dylib
INFO:delocate.delocating:Copying library /opt/homebrew/Cellar/gcc/14.1.0_1/lib/gcc/current/libgfortran.5.dylib to bezier/.dylibs/libgfortran.5.dylib
INFO:delocate.delocating:Copying library /opt/homebrew/Cellar/gcc/14.1.0_1/lib/gcc/current/libquadmath.0.dylib to bezier/.dylibs/libquadmath.0.dylib
INFO:delocate.delocating:Copying library /opt/homebrew/Cellar/gcc/14.1.0_1/lib/gcc/current/libgcc_s.1.1.dylib to bezier/.dylibs/libgcc_s.1.1.dylib
INFO:delocate.delocating:Modifying install name in bezier/.dylibs/libbezier.2023.7.28.dylib from /opt/homebrew/opt/gcc/lib/gcc/current/libgfortran.5.dylib to @loader_path/libgfortran.5.dylib
INFO:delocate.delocating:Modifying install name in bezier/.dylibs/libgfortran.5.dylib from @rpath/libgcc_s.1.1.dylib to @loader_path/libgcc_s.1.1.dylib
INFO:delocate.delocating:Modifying install name in bezier/_speedup.cpython-310-darwin.so from @rpath/libbezier.2023.dylib to @loader_path/.dylibs/libbezier.2023.7.28.dylib
INFO:delocate.delocating:Modifying install name in bezier/.dylibs/libbezier.2023.7.28.dylib from /opt/homebrew/opt/gcc/lib/gcc/current/libquadmath.0.dylib to @loader_path/libquadmath.0.dylib
INFO:delocate.delocating:Modifying install name in bezier/.dylibs/libgfortran.5.dylib from @rpath/libquadmath.0.dylib to @loader_path/libquadmath.0.dylib
Fixing: /private/var/folders/dm/88b38gj92jj53dgxdsm12qf00000gn/T/cibw-run-lxw12ek6/cp310-macosx_arm64/built_wheel/bezier-2023.7.29.dev1-cp310-cp310-macosx_11_0_arm64.whl
Traceback (most recent call last):
File "/private/var/folders/dm/88b38gj92jj53dgxdsm12qf00000gn/T/cibw-run-lxw12ek6/cp310-macosx_arm64/build/venv/bin/delocate-wheel", line 8, in <module>
sys.exit(main())
File "/private/var/folders/dm/88b38gj92jj53dgxdsm12qf00000gn/T/cibw-run-lxw12ek6/cp310-macosx_arm64/build/venv/lib/python3.10/site-packages/delocate/cmd/delocate_wheel.py", line 110, in main
copied = delocate_wheel(
File "/private/var/folders/dm/88b38gj92jj53dgxdsm12qf00000gn/T/cibw-run-lxw12ek6/cp310-macosx_arm64/build/venv/lib/python3.10/site-packages/delocate/delocating.py", line 1004, in delocate_wheel
out_wheel_fixed = _check_and_update_wheel_name(
File "/private/var/folders/dm/88b38gj92jj53dgxdsm12qf00000gn/T/cibw-run-lxw12ek6/cp310-macosx_arm64/build/venv/lib/python3.10/site-packages/delocate/delocating.py", line 839, in _check_and_update_wheel_name
raise DelocationError(
delocate.libsana.DelocationError: Library dependencies do not satisfy target MacOS version 11.0:
/private/var/folders/dm/88b38gj92jj53dgxdsm12qf00000gn/T/tmp0b6da8na/wheel/bezier/.dylibs/libbezier.2023.7.28.dylib has a minimum target of 13.0
/private/var/folders/dm/88b38gj92jj53dgxdsm12qf00000gn/T/tmp0b6da8na/wheel/bezier/.dylibs/libgfortran.5.dylib has a minimum target of 14.0
/private/var/folders/dm/88b38gj92jj53dgxdsm12qf00000gn/T/tmp0b6da8na/wheel/bezier/.dylibs/libquadmath.0.dylib has a minimum target of 14.0
# the ARM (M1) wheels. | ||
runs-on: macos-13 | ||
macos-arm64: | ||
runs-on: macos-14 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd consider making a build matrix for this to consolidate
- name: Install `homebrew` in x86_64 arch | ||
run: | | ||
arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" | ||
|
||
- name: Install `gcc` in x86_64 `homebrew | ||
run: | | ||
arch -x86_64 /usr/local/bin/brew install gcc |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
# NOTE: Could also use $(brew --prefix gcc)/bin/gfortran | ||
CMAKE_FORTRAN_COMPILER: /usr/local/bin/gfortran |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Emphasis!
@@ -31,6 +31,8 @@ on: | |||
jobs: | |||
ci: | |||
runs-on: macos-13 | |||
env: | |||
CMAKE_OSX_DEPLOYMENT_TARGET: "13.0" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See https://github.com/dhermes/bezier/pull/318/files#r1643786071 for earlier context on this (this is meant to be temporary!)
No description provided.