You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
On a fresh macOS dev setup, ./script/bootstrap completes successfully but a subsequent ./script/run (or cargo build) fails inside crates/warpui/build.rs when it tries to compile Metal shaders. The Xcode Metal Toolchain component is not installed by default with Xcode, and bootstrap does not check for or install it.
This is the macOS counterpart to #9544 (Node.js/yarn check missing on Linux/Windows).
Repro
Fresh checkout, macOS (Apple Silicon), Xcode 16.x installed via App Store, no prior metal command available.
./script/bootstrap # succeeds
./script/install_cargo_bundle # also needed (separate gap, see "Other gaps" below)
./script/run # fails
Actual
Compiling warpui v0.1.0 (/.../crates/warpui)
error: failed to run custom build command for `warpui v0.1.0`
Caused by:
process didn't exit successfully: `.../warpui-XXX/build-script-build` (exit status: 101)
--- stderr
thread 'main' panicked at crates/warpui/build.rs:92:5:
error compiling metal shaders to .air; error: error: cannot execute tool 'metal' due to missing Metal Toolchain;
use: xcodebuild -downloadComponent MetalToolchain
Add a check to script/macos/bootstrap (or the platform-agnostic script/bootstrap) along the lines of:
if! xcrun --find metal &>/dev/null;thenecho"Metal Toolchain not installed. Running: xcodebuild -downloadComponent MetalToolchain"
xcodebuild -downloadComponent MetalToolchain
fi
The check should ideally be paired with a guard that verifies the component is actually downloaded before continuing (the xcodebuild invocation can be slow and silently fail).
Other gaps observed in the same setup flow
While not the focus of this issue, the same first-time setup also surfaced:
cargo bundle not installed → error: no such command: bundle (workaround: ./script/install_cargo_bundle, but bootstrap doesn't call it)
Happy to file a separate issue for the cargo-bundle gap if useful.
Environment
macOS (Apple Silicon)
Xcode 16.x (clang 21 toolchain visible in build output)
Summary
On a fresh macOS dev setup,
./script/bootstrapcompletes successfully but a subsequent./script/run(orcargo build) fails insidecrates/warpui/build.rswhen it tries to compile Metal shaders. The Xcode Metal Toolchain component is not installed by default with Xcode, andbootstrapdoes not check for or install it.This is the macOS counterpart to #9544 (Node.js/yarn check missing on Linux/Windows).
Repro
Fresh checkout, macOS (Apple Silicon), Xcode 16.x installed via App Store, no prior
metalcommand available.Actual
Expected
./script/bootstrapeither:xcodebuild -downloadComponent MetalToolchain(with user acknowledgement, per ./scripts/bootstrap invokes sudo and installs system-wide dependencies without user acknowledgement #9421), orcargo buildfailures #9544 proposes for Node.js/yarn.Suggested fix
Add a check to
script/macos/bootstrap(or the platform-agnosticscript/bootstrap) along the lines of:The check should ideally be paired with a guard that verifies the component is actually downloaded before continuing (the
xcodebuildinvocation can be slow and silently fail).Other gaps observed in the same setup flow
While not the focus of this issue, the same first-time setup also surfaced:
cargo bundlenot installed →error: no such command: bundle(workaround:./script/install_cargo_bundle, butbootstrapdoesn't call it)Happy to file a separate issue for the
cargo-bundlegap if useful.Environment
rust-toolchain.tomlmasterat HEAD