-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Enable zlib for NetBSD #75713
Enable zlib for NetBSD #75713
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.