-
Notifications
You must be signed in to change notification settings - Fork 13k
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
Fix building rustc on and for musl hosts. #51063
Conversation
(rust_highfive has picked a reviewer for you, use r? to override) |
@bors: r+ Thanks! |
📌 Commit 3407e09 has been approved by |
🔒 Merge conflict |
☔ The latest upstream changes (presumably #51138) made this pull request unmergeable. Please resolve the merge conflicts. |
This fixes (only for -crt-static) rust-lang#36710.
Bootstrap requires serde_derive, which needs proc-macro crate types, so it won't work with crt-static.
This still expectedly fails for musl targets with +crt-static.
This is required to use builder.cargo for cargo-vendor.
This makes it go through boostrap/bin/rustc.rs, so it will use -crt-static if needed.
@bors r=alexcrichton |
📌 Commit a8be9bd has been approved by |
Fix building rustc on and for musl hosts. This fixes all problems I had when trying to compile rustc on a musl-based distribution (with `crt-static = false` in `config.toml`). This is a fixed version of what ended up being #50105, making it possible to compile rustc on musl targets. The differences to the old (now merged and subsequently reverted) pull request are: - The commit (6d9154a) that caused the regression for which the original commits were reverted in #50709 is left out. This means the corresponding bug #36710 is still not fixed with `+crt-static`. - The test for issue 36710 is skipped for musl targets (until the issue is properly fixed). - Building cargo-vendor if `crt-static = false` is needed was broken (cargo-vendor links to some shared libraries if they exist on the system and this produces broken binaries with `+crt-static`) CC @alexcrichton
☀️ Test successful - status-appveyor, status-travis |
This fixes all problems I had when trying to compile rustc on a musl-based distribution (with
crt-static = false
inconfig.toml
).This is a fixed version of what ended up being #50105, making it possible to compile rustc on musl targets.
The differences to the old (now merged and subsequently reverted) pull request are:
+crt-static
.crt-static = false
is needed was broken (cargo-vendor links to some shared libraries if they exist on the system and this produces broken binaries with+crt-static
)CC @alexcrichton