-
Notifications
You must be signed in to change notification settings - Fork 13.4k
{aarch64,x86_64}-*-windows-gnullvm: build host tools #140772
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
base: master
Are you sure you want to change the base?
Conversation
r? @marcoieni rustbot has assigned @marcoieni. Use |
This PR changes how LLVM is built. Consider updating src/bootstrap/download-ci-llvm-stamp. |
Forgot to include |
ok, so I guess we need to try this, right? @bors try |
{aarch64,x86_64}-*-windows-gnullvm: build host tools This will require MCP, but I suppose we need to know how long it takes to build first. I opted for bootstrapping from Linux because that's the easiest host system to work with, but once this hits beta, having dedicated Windows runners would be sensible and probably preferable. `--enable-full-tools` for whatever reason doesn't seem to work when cross-compiling, because LLVM tools for the new hosts are not copied into the expected directory. And WiX that bootstrap relies upon to create .msi installers only supports Windows. I haven't tried, but it might be usable via Wine. Almost every commit is self-contained, so let me know if I should split them into separate PRs. try-job: dist-windows-gnullvm
This comment has been minimized.
This comment has been minimized.
maybe you need to add the job to the |
💥 Test timed out |
Oh, right. Totally forgot about it. |
@bors try |
{aarch64,x86_64}-*-windows-gnullvm: build host tools This will require MCP, but I suppose we need to know how long it takes to build first. I opted for bootstrapping from Linux because that's the easiest host system to work with, but once this hits beta, having dedicated Windows runners would be sensible and probably preferable. `--enable-full-tools` for whatever reason doesn't seem to work when cross-compiling, because LLVM tools for the new hosts are not copied into the expected directory. And WiX that bootstrap relies upon to create .msi installers only supports Windows. I haven't tried, but it might be usable via Wine. Almost every commit is self-contained, so let me know if I should split them into separate PRs. try-job: dist-windows-gnullvm
This comment has been minimized.
This comment has been minimized.
💔 Test failed - checks-actions |
Unfortunately, free CI runners are not as capable as I had hoped. I've split the jobs now, but dunno if this will be acceptable. |
yes, we prefer multiple free runner compared to 1 large runner 👍 @bors try |
{aarch64,x86_64}-*-windows-gnullvm: build host tools This will require MCP, but I suppose we need to know how long it takes to build first. I opted for bootstrapping from Linux because that's the easiest host system to work with, but once this hits beta, having dedicated Windows runners would be sensible and probably preferable. `--enable-full-tools` for whatever reason doesn't seem to work when cross-compiling, because LLVM tools for the new hosts are not copied into the expected directory. And WiX that bootstrap relies upon to create .msi installers only supports Windows. I haven't tried, but it might be usable via Wine. Almost every commit is self-contained, so let me know if I should split them into separate PRs. try-job: dist-aarch64-windows-gnullvm try-job: dist-x86_64-windows-gnullvm
This comment has been minimized.
This comment has been minimized.
💔 Test failed - checks-actions |
@bors try |
…-compiling, r=cuviper rustc_llvm: add Windows system libs only when cross-compiling from Wi… …ndows This obviously doesn't work when cross-compiling from Linux. Split out from: rust-lang#140772 Fixes the issue described at [#general > Problems while trying to cross compile rustc for windows](https://rust-lang.zulipchat.com/#narrow/channel/122651-general/topic/Problems.20while.20trying.20to.20cross.20compile.20rustc.20for.20windows/with/520508561)
…-compiling, r=cuviper rustc_llvm: add Windows system libs only when cross-compiling from Wi… …ndows This obviously doesn't work when cross-compiling from Linux. Split out from: rust-lang#140772 Fixes the issue described at [#general > Problems while trying to cross compile rustc for windows](https://rust-lang.zulipchat.com/#narrow/channel/122651-general/topic/Problems.20while.20trying.20to.20cross.20compile.20rustc.20for.20windows/with/520508561)
Rollup merge of #141817 - mati865:fix-system-libs-when-cross-compiling, r=cuviper rustc_llvm: add Windows system libs only when cross-compiling from Wi… …ndows This obviously doesn't work when cross-compiling from Linux. Split out from: #140772 Fixes the issue described at [#general > Problems while trying to cross compile rustc for windows](https://rust-lang.zulipchat.com/#narrow/channel/122651-general/topic/Problems.20while.20trying.20to.20cross.20compile.20rustc.20for.20windows/with/520508561)
…ndows This obviously doesn't work when cross-compiling from Linux. Split out from: rust-lang#140772
9275937
to
13bfa7c
Compare
…indows, r=Kobzol Don't create .msi installer for gnullvm hosts WIX toolset works only on Windows hosts, but gnullvm doesn't have host toolchain yet. To get out of this loop, we will create a single release without MSI installer. Split out from: rust-lang#140772
Rollup merge of #141818 - mati865:dont-create-msi-from-non-windows, r=Kobzol Don't create .msi installer for gnullvm hosts WIX toolset works only on Windows hosts, but gnullvm doesn't have host toolchain yet. To get out of this loop, we will create a single release without MSI installer. Split out from: #140772
@rustbot ready All the changes not related to the jobs themselves are merged now (via separate PRs), so this should be good to go. I have added |
mmh so you are saying that in a few weeks you are going to open a new PR to edit this code? Why not edit it now? 🤔 |
@@ -237,6 +237,12 @@ auto: | |||
- name: dist-s390x-linux | |||
<<: *job-linux-4c | |||
|
|||
- name: dist-aarch64-windows-gnullvm | |||
<<: *job-linux-4c |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why not using the free arm runner instead of the x86 one?
# despite no such directory existing: | ||
# ❯ ls obj/dist-windows-gnullvm/build/aarch64-pc-windows-gnullvm/ -1 | ||
# llvm | ||
# stage2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
--set llvm.download-ci-llvm=false \ | ||
--set rust.llvm-tools=false | ||
# LLVM cross tools are not installed into expected location so copying fails. | ||
# Probably will solve itself when building from Windows. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same question asked before. Why don't we build from windows now? Is it for the time required to change this PR and we want to ship this earlier? 🤔
# We are bootstrapping this target and cannot use previously built artifacts. | ||
# Without this option Clang is given `"-I/checkout/obj/build/aarch64-pc-windows-gnullvm/ci-llvm/include"` | ||
# despite no such directory existing: | ||
# ❯ ls obj/dist-windows-gnullvm/build/aarch64-pc-windows-gnullvm/ -1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe it's more familiar to use $
instead of ❯
to indicate a prompt.
# ❯ ls obj/dist-windows-gnullvm/build/aarch64-pc-windows-gnullvm/ -1 | ||
# llvm | ||
# stage2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same comments as above
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this file is very similar to [dist-aarch64-windows-gnullvm/install-llvm-mingw.sh](https://github.com/rust-lang/rust/pull/140772/files#diff-aa3918ad02d118bc5907a7d19827d8b3de442f35cde1b590b60261dee2852c07)
.
Can we share the logic somehow?
@bors2 try |
{aarch64,x86_64}-*-windows-gnullvm: build host tools This will require MCP, but I suppose we need to know how long it takes to build first. I opted for bootstrapping from Linux because that's the easiest host system to work with, but once this hits beta, having dedicated Windows runners would be sensible and probably preferable. `--enable-full-tools` for whatever reason doesn't seem to work when cross-compiling, because LLVM tools for the new hosts are not copied into the expected directory. And WiX that bootstrap relies upon to create .msi installers only supports Windows. I haven't tried, but it might be usable via Wine. Almost every commit is self-contained, so let me know if I should split them into separate PRs. try-job: dist-aarch64-windows-gnullvm try-job: dist-x86_64-windows-gnullvm
This will require MCP, but I suppose we need to know how long it takes to build first.
I opted for bootstrapping from Linux because that's the easiest host system to work with, but once this hits beta, having dedicated Windows runners would be sensible and probably preferable.
--enable-full-tools
for whatever reason doesn't seem to work when cross-compiling, because LLVM tools for the new hosts are not copied into the expected directory. And WiX that bootstrap relies upon to create .msi installers only supports Windows. I haven't tried, but it might be usable via Wine.Almost every commit is self-contained, so let me know if I should split them into separate PRs.
try-job: dist-aarch64-windows-gnullvm
try-job: dist-x86_64-windows-gnullvm