-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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 cross compiling dist/build invocations #76799
Fix cross compiling dist/build invocations #76799
Conversation
It looks like the first commit here is presumably either an incomplete fix or something like that, https://rust-lang.zulipchat.com/#narrow/stream/242791-t-infra/topic/x.2Epy.20calls.20itself.20recursively.3F/near/210307295. |
Otherwise, we may not have a standard library built for the native "host" target of the rustc being run.
This isn't an issue for most folks who use x.py dist, which will directly depend on this. But for x.py build, if we don't properly set target here rustdoc will not be built. Currently, there is not a default-on step for generating a rustc for a given target either, so we will fail to build a rustc as well.
Looks like that was a false alarm -- seems like this is actually fixed (or at least that build is not evidence otherwise). |
I can confirm it works, but it also builds a stage1 "host" compiler with |
I think that's probably avoidable but will be a more invasive change so I'll leave it to future work (unless @alexcrichton feels we should do it here). We'll probably need to model compile::Std and other steps similar to how rustdoc is done, where they don't ask for a top_stage compiler which they don't actually need. |
Seems reasonable to me, and yeah further optimizations can probably come later. Would it be possible to add a test for this? These sorts of bugs are notoriously hard to protect against otherwise |
3c6cf7e
to
363aff0
Compare
Okay @alexcrichton just pushed a test, annotated with a fixme comment since it's over-building things currently |
@bors: r+ |
📌 Commit 363aff0 has been approved by |
…ist, r=alexcrichton Fix cross compiling dist/build invocations I am uncertain why the first commit is not affecting CI. I suspect it's because we pass --disable-docs on most of our cross-compilation builders. The second commit doesn't affect CI because CI runs x.py dist, not x.py build. Both commits are standalone; together they should resolve rust-lang#76733. The first commit doesn't really fix that issue but rather just fixes cross-compiled x.py dist, resolving a bug introduced in rust-lang#76549.
…ist, r=alexcrichton Fix cross compiling dist/build invocations I am uncertain why the first commit is not affecting CI. I suspect it's because we pass --disable-docs on most of our cross-compilation builders. The second commit doesn't affect CI because CI runs x.py dist, not x.py build. Both commits are standalone; together they should resolve rust-lang#76733. The first commit doesn't really fix that issue but rather just fixes cross-compiled x.py dist, resolving a bug introduced in rust-lang#76549.
…ist, r=alexcrichton Fix cross compiling dist/build invocations I am uncertain why the first commit is not affecting CI. I suspect it's because we pass --disable-docs on most of our cross-compilation builders. The second commit doesn't affect CI because CI runs x.py dist, not x.py build. Both commits are standalone; together they should resolve rust-lang#76733. The first commit doesn't really fix that issue but rather just fixes cross-compiled x.py dist, resolving a bug introduced in rust-lang#76549.
…ist, r=alexcrichton Fix cross compiling dist/build invocations I am uncertain why the first commit is not affecting CI. I suspect it's because we pass --disable-docs on most of our cross-compilation builders. The second commit doesn't affect CI because CI runs x.py dist, not x.py build. Both commits are standalone; together they should resolve rust-lang#76733. The first commit doesn't really fix that issue but rather just fixes cross-compiled x.py dist, resolving a bug introduced in rust-lang#76549.
…ist, r=alexcrichton Fix cross compiling dist/build invocations I am uncertain why the first commit is not affecting CI. I suspect it's because we pass --disable-docs on most of our cross-compilation builders. The second commit doesn't affect CI because CI runs x.py dist, not x.py build. Both commits are standalone; together they should resolve rust-lang#76733. The first commit doesn't really fix that issue but rather just fixes cross-compiled x.py dist, resolving a bug introduced in rust-lang#76549.
@bors rollup=iffy |
☀️ Test successful - checks-actions, checks-azure |
I am uncertain why the first commit is not affecting CI. I suspect it's because we pass --disable-docs on most of our cross-compilation builders. The second commit doesn't affect CI because CI runs x.py dist, not x.py build.
Both commits are standalone; together they should resolve #76733. The first commit doesn't really fix that issue but rather just fixes cross-compiled x.py dist, resolving a bug introduced in #76549.