Conversation
|
r? @varkor (rust_highfive has picked a reviewer for you, use r? to override) |
|
I am wondering whether we shouldn't add libz to all cross-compiled builds for all platforms by default, now that we know that that the LLVM option is enabled by default? This will increase the likelihood that cross-compiling rustc will work on any platform. Do we know platforms that do not ship libz? windows perhaps? |
|
@nielx Looking at CI logs in case of Windows this works like that:
|
The issue remains that this will in principle break any cross compiling rustc for any platform that has libz on it. I see five options:
Personally, while I cannot quantify it definitively, solution 2 sounds like it will get most targets right without any additional manual work/patches, so that's where my preference would be. If we want to be on the safe side, we could go for option 5. Unfortunately I do not seem to be able to find the CI logs, do do some investigation, but that's where I would go next. |
|
I agree that option 2 seems like the best way, and we should surface the option in config.toml (probably in a target-specific section). |
|
That said, I'm going to r+ this since it does seem like a net-improvement to me for the time being. @bors r+ |
|
📌 Commit 32f02a389ab2e5c6faa714c38a99e53a02235eff has been approved by |
|
☔ The latest upstream changes (presumably #75625) made this pull request unmergeable. Please resolve the merge conflicts. |
|
Rebased. |
|
@bors r+ |
|
📌 Commit 985df3d has been approved by |
|
⌛ Testing commit 985df3d with merge 70185dcbd56502c8276462026a6b27b0005619bf... |
|
This is going to fail because of https://rust-lang.zulipchat.com/#narrow/stream/242791-t-infra/topic/MSVC.20on.20CI.20has.20broke |
|
The job Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
|
💔 Test failed - checks-actions |
|
@bors retry |
|
☀️ Test successful - checks-actions, checks-azure |
On native builds `llvm-config` picks up `zlib` and this gets pased into the rust build tools, but on cross builds `llvm-config` is explicitly ignored as it contains information for the host system and cannot be trusted to be accurate for the target system. Both DragonFly and Solaris contain `zlib` in the base system, so this is both a safe assumption and required for a successful cross build unless `zlib` support is disabled in LLVM. This is more or less in the same vein as rust-lang#75713 and rust-lang#75655.
…-libz, r=cuviper rustc_llvm: Link to `zlib` on dragonfly and solaris On native builds `llvm-config` picks up `zlib` and this gets pased into the rust build tools, but on cross builds `llvm-config` is explicitly ignored as it contains information for the host system and cannot be trusted to be accurate for the target system. Both DragonFly and Solaris contain `zlib` in the base system, so this is both a safe assumption and required for a successful cross build unless `zlib` support is disabled in LLVM. This is more or less in the same vein as rust-lang#75713 and rust-lang#75655.
…-libz, r=cuviper rustc_llvm: Link to `zlib` on dragonfly and solaris On native builds `llvm-config` picks up `zlib` and this gets pased into the rust build tools, but on cross builds `llvm-config` is explicitly ignored as it contains information for the host system and cannot be trusted to be accurate for the target system. Both DragonFly and Solaris contain `zlib` in the base system, so this is both a safe assumption and required for a successful cross build unless `zlib` support is disabled in LLVM. This is more or less in the same vein as rust-lang#75713 and rust-lang#75655.
…-libz, r=cuviper rustc_llvm: Link to `zlib` on dragonfly and solaris On native builds `llvm-config` picks up `zlib` and this gets pased into the rust build tools, but on cross builds `llvm-config` is explicitly ignored as it contains information for the host system and cannot be trusted to be accurate for the target system. Both DragonFly and Solaris contain `zlib` in the base system, so this is both a safe assumption and required for a successful cross build unless `zlib` support is disabled in LLVM. This is more or less in the same vein as rust-lang#75713 and rust-lang#75655.
NetBSD Docker dist job passed locally.