drake
drake copied to clipboard
Add support for macOS arm64 wheels
Relates: #17869, CC @jwnimmer-tri @mwoehlke-kitware
Something special needs to happen to fix wheel builds on m1 macOS. Failure build log here:
[12:47:30 PM] configure: Main configuration of CoinUtils successful
[12:47:30 PM] ninja: build stopped: subcommand failed.
[12:47:30 PM] Traceback (most recent call last):
[12:47:30 PM] File "/private/var/tmp/_bazel_admin/1f2d183c0168263c5864bf9f0688f8f7/execroot/drake/bazel-out/darwin_arm64-opt/bin/tools/wheel/builder.runfiles/drake/tools/wheel/wheel_builder/main.py", line 20, in <module>
[12:47:30 PM] main(args=sys.argv[1:], platform=platform)
[12:47:30 PM] File "/private/var/tmp/_bazel_admin/1f2d183c0168263c5864bf9f0688f8f7/execroot/drake/bazel-out/darwin_arm64-opt/bin/tools/wheel/builder.runfiles/drake/tools/wheel/wheel_builder/common.py", line 102, in do_main
[12:47:30 PM] platform.build(options)
[12:47:30 PM] File "/private/var/tmp/_bazel_admin/1f2d183c0168263c5864bf9f0688f8f7/execroot/drake/bazel-out/darwin_arm64-opt/bin/tools/wheel/builder.runfiles/drake/tools/wheel/wheel_builder/macos.py", line 81, in build
[12:47:30 PM] subprocess.check_call(build_command, env=environment)
[12:47:30 PM] File "/opt/homebrew/Cellar/[email protected]/3.10.6_2/Frameworks/Python.framework/Versions/3.10/lib/python3.10/subprocess.py", line 369, in check_call
[12:47:30 PM] raise CalledProcessError(retcode, cmd)
[12:47:30 PM] subprocess.CalledProcessError: Command '['bash', '/Users/admin/workspace/mac-m1-monterey-unprovisioned-clang-wheel-experimental-snopt-mosek-release/src/tools/wheel/macos/build-wheel.sh', '0.0.2022.9.13.12.46.18+git87ed75b4']' returned non-zero exit status 1.
Actual cause unclear, needs investigation.
[0:14:24.742] FAILED: src/libjpeg-turbo-stamp/libjpeg-turbo-configure /opt/drake-wheel-build/dependencies/build/src/libjpeg-turbo-stamp/libjpeg-turbo-configure
...and
[0:14:24.743] configure: error: configuration problem: maybe object file format mismatch.
Not exactly helpful. Did this ever work? Has something in drake-dependencies changed?
I think this is the first time we've ever tried to run the wheel build on M1, so it's not surprising that it doesn't work yet. This ticket is essentially a feature request to add M1 wheels to our support matrix.
I'll add it to the board, but probably not a top priority right away.