Skip to content
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

Split the rustc target libraries into separate rustc-dev component #65474

Merged
merged 3 commits into from
Oct 24, 2019

Conversation

Mark-Simulacrum
Copy link
Member

@Mark-Simulacrum Mark-Simulacrum commented Oct 16, 2019

This is re-applies a squashed version of #64823 as well as including #65337 to fix bugs noted after merging the first PR.

The second PR is confirmed as fixing windows-gnu, and presumably also fixes other platforms, such as musl (i.e. #65335 should be fixed); RUSTUP_DIST_SERVER=https://dev-static.rust-lang.org rustup toolchain install nightly-2019-10-16 can be installed to confirm that this is indeed the case.

cuviper and others added 3 commits October 15, 2019 18:38
This splits out a rustc-dev component with the compiler crates, and
keeps the status quo of default installed files on nightly. The default
changing to not install compiler libraries by default is left for a
future pull request.

However, on stable and beta, this does remove the compiler libraries
from the set of libraries installed by default, as they are never needed
there (per our stability story, they "cannot" be used).
@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Oct 16, 2019
@Mark-Simulacrum
Copy link
Member Author

I would appreciate confirmation from @jethrogb as to musl being fixed, but I personally think we can likely approve and land this.

@jethrogb
Copy link
Contributor

At this point, I can only confirm that this try build had the appropriate fix for SGX.

I'd be happy to look at other artifacts once they are built.

@jethrogb
Copy link
Contributor

Oh I see the instructions for using dev-static now. I won't be able to try that until tomorrow.

@jethrogb
Copy link
Contributor

I ran the following commands, which completed succesfully:

RUSTUP_DIST_SERVER=https://dev-static.rust-lang.org rustup toolchain install nightly-2019-10-16
RUSTUP_DIST_SERVER=https://dev-static.rust-lang.org rustup target add --toolchain nightly-2019-10-16 x86_64-fortanix-unknown-sgx
RUSTUP_DIST_SERVER=https://dev-static.rust-lang.org rustup target add --toolchain nightly-2019-10-16 x86_64-unknown-linux-musl
cargo new hw
cd hw
cargo +nightly-2019-10-16 build --target x86_64-unknown-linux-musl
cargo +nightly-2019-10-16 build --target x86_64-fortanix-unknown-sgx

@Mark-Simulacrum
Copy link
Member Author

Okay, sounds like we're ready to go ahead.

@pietroalbini, this should be ready for approval (basically confirming that we've tested sufficiently, I think; code changes have already been pre-approved by me, they're not mine).

@pietroalbini
Copy link
Member

Should we make a post on users/reddit asking people to test non-x86 targets?

@Mark-Simulacrum
Copy link
Member Author

We, uh, can. I feel like that's going too far though? I guess I'm not opposed.

@pietroalbini
Copy link
Member

Well, we already had to revert the change one time due to breakages.

As far as I'm aware all the bugs reported in #65335 were fixed (cc @mati865 for windows-gnu?), but I'd err on the side of caution landing this again.

@mati865
Copy link
Contributor

mati865 commented Oct 17, 2019

As far as I'm aware all the bugs reported in #65335 were fixed (cc @mati865 for windows-gnu?)

I tested x86_64 windows-gnu and linux-musl and they are fixed.
There was report of weird MSVC bug (cc @RalfJung) but I cannot test it.

@Mark-Simulacrum
Copy link
Member Author

https://users.rust-lang.org/t/help-test-rustc-dev-component-splitting/33710

@RalfJung
Copy link
Member

I have no idea what happened with the MSVC toolchain; what I could see in the build log is that Miri would build fine when rustc-dev is installed, but then it would fail to run with no error. I think this is the behavior Windows shows when a shared library is missing? But I am just guessing here.

@RalfJung
Copy link
Member

I ran Miri CI with this experimental toolchain and everything is green. Looks like whatever issue there was is fixed now.

@Mark-Simulacrum Mark-Simulacrum added S-blocked Status: Marked as blocked ❌ on something else such as an RFC or other implementation work. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Oct 17, 2019
@Mark-Simulacrum
Copy link
Member Author

I've set the arbitrary landing deadline as Monday -- if by then there are no complaints on the internals thread I will approve this.

@pietroalbini
Copy link
Member

Ok, it's now Monday, let's land this!

@bors r+

@bors
Copy link
Contributor

bors commented Oct 21, 2019

📌 Commit 7ccf492 has been approved by pietroalbini

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-blocked Status: Marked as blocked ❌ on something else such as an RFC or other implementation work. labels Oct 21, 2019
@Centril
Copy link
Contributor

Centril commented Oct 21, 2019

@bors rollup=never p=1

@bors
Copy link
Contributor

bors commented Oct 22, 2019

⌛ Testing commit 7ccf492 with merge e9a1afca9daba3dcd5539a2349207edff8fca1a8...

@RalfJung
Copy link
Member

The remote name could not be resolved: 'rust-lang-ci-mirrors.s3-us-west-1.amazonaws.com'

@bors retry

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Oct 22, 2019
@bors
Copy link
Contributor

bors commented Oct 23, 2019

⌛ Testing commit 7ccf492 with merge b7175f3...

bors added a commit that referenced this pull request Oct 23, 2019
Split the rustc target libraries into separate rustc-dev component

This is re-applies a squashed version of #64823 as well as including #65337 to fix bugs noted after merging the first PR.

The second PR is confirmed as fixing windows-gnu, and presumably also fixes other platforms, such as musl (i.e. #65335 should be fixed); `RUSTUP_DIST_SERVER=https://dev-static.rust-lang.org rustup toolchain install nightly-2019-10-16` can be installed to confirm that this is indeed the case.
@bors
Copy link
Contributor

bors commented Oct 23, 2019

💥 Test timed out

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Oct 23, 2019
@Mark-Simulacrum
Copy link
Member Author

@bors retry

windows dist build timed out again...

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Oct 23, 2019
@bors
Copy link
Contributor

bors commented Oct 24, 2019

⌛ Testing commit 7ccf492 with merge 8e0007f...

bors added a commit that referenced this pull request Oct 24, 2019
Split the rustc target libraries into separate rustc-dev component

This is re-applies a squashed version of #64823 as well as including #65337 to fix bugs noted after merging the first PR.

The second PR is confirmed as fixing windows-gnu, and presumably also fixes other platforms, such as musl (i.e. #65335 should be fixed); `RUSTUP_DIST_SERVER=https://dev-static.rust-lang.org rustup toolchain install nightly-2019-10-16` can be installed to confirm that this is indeed the case.
@bors
Copy link
Contributor

bors commented Oct 24, 2019

☀️ Test successful - checks-azure
Approved by: pietroalbini
Pushing 8e0007f to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Oct 24, 2019
@bors bors merged commit 7ccf492 into rust-lang:master Oct 24, 2019
@jethrogb
Copy link
Contributor

Yes finally.

@Mark-Simulacrum Mark-Simulacrum deleted the rustc-dev-split branch October 24, 2019 13:31
@RalfJung
Copy link
Member

Hm, now I am again seeing weird failures for Miri on Windows:

Bad status code exit code: 0xc0000135 when getting sysroot info via "C:\\Users\\appveyor\\.cargo\\bin\\miri" "--print" "sysroot".
stdout:
stderr:

Any idea why the Miri binary might exit immediately without printing anything?

@RalfJung
Copy link
Member

Looks like that exit code is STATUS_DLL_NOT_FOUND, so my theory remains that somehow the search paths are wrong or so?

@Mark-Simulacrum
Copy link
Member Author

That would be odd since this PR should have produced an identical looking sysroot to before...

Can you check that rustc --print sysroot works? If so then it's probably a miri bug (e.g., you need to build it in a slightly different way, or miri is not linking the same as rustc)

@RalfJung
Copy link
Member

RalfJung commented Oct 24, 2019

The oddest thing is that it worked when I tired it with the experimental toolchain.

Ah wait, I have an idea... maybe we need a matching cargo for the toolchain...

@RalfJung
Copy link
Member

Yes that was it; the failure had nothing to do with this PR and everything with rust-lang/rustup#1575.

stefson added a commit to stefson/gentoo-rust that referenced this pull request Nov 8, 2019
pr65474 minimizes the amount of files needed for the install
of a rust-std component by not merging certain dev-header
files and other instable components.

more information:
rust-lang/rust#64823
rust-lang/rust#65474

I opted for +-r1 and dropped keywords, for testing.

Also included pr66103, it shouldn't hurt anyone.

Signed-off-by: Steffen Kuhn <nielson2@yandex.com>
gentoo-bot pushed a commit to gentoo/gentoo-rust that referenced this pull request Nov 11, 2019
pr65474 minimizes the amount of files needed for the install
of a rust-std component by not merging certain dev-header
files and other instable components.

more information:
rust-lang/rust#64823
rust-lang/rust#65474

I opted for +-r1 and dropped keywords, for testing.

Also included pr66103, it shouldn't hurt anyone.

Signed-off-by: Steffen Kuhn <nielson2@yandex.com>
Closes: #464
Signed-off-by: Mikhail Pukhlikov <cynede@gentoo.org>
stefson added a commit to stefson/musl that referenced this pull request Nov 16, 2019
pr65474 minimizes the amount of files needed for the install
of a rust-std component by not merging certain dev-header
files and other instable components.

more information:
rust-lang/rust#64823
rust-lang/rust#65474

Signed-off-by: Steffen Kuhn <nielson2@yandex.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants