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

3rd party objects missing from nightly-2019-10-12 #65335

Closed
jethrogb opened this issue Oct 12, 2019 · 12 comments
Closed

3rd party objects missing from nightly-2019-10-12 #65335

jethrogb opened this issue Oct 12, 2019 · 12 comments
Labels
C-bug Category: This is a bug. O-musl Target: The musl libc O-windows-gnu Toolchain: GNU, Operating system: Windows P-high High priority regression-from-stable-to-nightly Performance or correctness regression from stable to nightly. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-release Relevant to the release subteam, which will review and decide on the PR/issue.

Comments

@jethrogb
Copy link
Contributor

$ rustup toolchain add nightly-2019-10-11
$ rustup toolchain add nightly-2019-10-12
$ rustup target add --toolchain nightly-2019-10-11 x86_64-fortanix-unknown-sgx
$ rustup target add --toolchain nightly-2019-10-12 x86_64-fortanix-unknown-sgx
$ ls .rustup/toolchains/nightly-2019-10-11-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-fortanix-unknown-sgx/lib/libunwind.a
.rustup/toolchains/nightly-2019-10-11-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-fortanix-unknown-sgx/lib/libunwind.a
$ ls .rustup/toolchains/nightly-2019-10-12-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-fortanix-unknown-sgx/lib/libunwind.a
ls: cannot access '.rustup/toolchains/nightly-2019-10-12-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-fortanix-unknown-sgx/lib/libunwind.a': No such file or directory
@jethrogb jethrogb changed the title 3rd party libraries missing from nightly-2019-10-12 for target x86_64-fortanix-unknown-sgx 3rd party libraries missing from nightly-2019-10-12 Oct 12, 2019
@jethrogb
Copy link
Contributor Author

jethrogb commented Oct 12, 2019

x86_64-unknown-linux-musl is also affected

Checkout the size difference:

$ rustup target add --toolchain nightly-2019-10-12 x86_64-unknown-linux-musl
info: downloading component 'rust-std' for 'x86_64-unknown-linux-musl'
 16.2 MiB /  16.2 MiB (100 %)   3.6 MiB/s ETA:   0 s                
info: installing component 'rust-std' for 'x86_64-unknown-linux-musl'
$ rustup target add --toolchain nightly-2019-10-11 x86_64-unknown-linux-musl
info: downloading component 'rust-std' for 'x86_64-unknown-linux-musl'
172.9 MiB / 172.9 MiB (100 %)   3.8 MiB/s ETA:   0 s                
info: installing component 'rust-std' for 'x86_64-unknown-linux-musl'

Link error when trying to build a musl binary:

  = note: cc: error: crt1.o: No such file or directory
          cc: error: crti.o: No such file or directory
          cc: error: crtn.o: No such file or directory

@jethrogb jethrogb changed the title 3rd party libraries missing from nightly-2019-10-12 3rd party objects missing from nightly-2019-10-12 Oct 12, 2019
@mati865
Copy link
Contributor

mati865 commented Oct 12, 2019

I checked rust-std, rustc and rustc-dev components and libs mentioned above are totally gone.

@rustbot modify labels: +T-release +C-bug

@rustbot rustbot added C-bug Category: This is a bug. T-release Relevant to the release subteam, which will review and decide on the PR/issue. labels Oct 12, 2019
@jonas-schievink jonas-schievink added I-nominated T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) labels Oct 12, 2019
@mati865
Copy link
Contributor

mati865 commented Oct 12, 2019

Tier-1 windows-gnu toolchain is also broken:

  = note: gcc.exe: error: crt2.o: No such file or directory
          gcc.exe: error: rsbegin.o: No such file or directory
          gcc.exe: error: rsend.o: No such file or directory

@jonas-schievink jonas-schievink added O-musl Target: The musl libc O-windows-gnu Toolchain: GNU, Operating system: Windows labels Oct 12, 2019
@pietroalbini pietroalbini added regression-from-stable-to-nightly Performance or correctness regression from stable to nightly. P-high High priority labels Oct 12, 2019
@pietroalbini
Copy link
Member

cc @rust-lang/release

@pietroalbini
Copy link
Member

So @rust-lang/release, as the rustc-dev PR broke tons of tier 2 targets and even a tier 1 target, I'd say for now we should revert the change and then land it again once it's properly fixed and tested on most of the platforms we support.

I think the priority should be keeping nightly as usable as possible (thus reverting the PR), reducing the stdlib size is less important and can be done later.

@cuviper
Copy link
Member

cuviper commented Oct 12, 2019

Checkout the size difference:

That was the intent of #64823, but I'm very sorry that I neglected these extra runtime objects. My focus is on linux-gnu targets, which don't ship those, so I didn't see the difference.

I'm glad you already have a fix PR!

@RalfJung
Copy link
Member

Tier-1 windows-gnu toolchain is also broken:

Ah, this probably explains why Miri CI is failing on Windows with this change. (Though I think that's using windows-msvc?)

Executing the compiled Miri binary just fails without any stdout/stderr indicating why.

@pietroalbini
Copy link
Member

We're reverting the PR that caused the regression in #65342.

bors added a commit that referenced this issue Oct 13, 2019
Revert "Auto merge of #64823 - cuviper:min-std, r=Mark-Simulacrum"

This reverts commit 000d90b, reversing
changes made to 898f36c.

This turned out to break quite a few targets, cc #65335
@gnzlbg
Copy link
Contributor

gnzlbg commented Oct 14, 2019

All libc musl build jobs are also failing, probably due to this.

@cuviper
Copy link
Member

cuviper commented Oct 14, 2019

Revert #65342 landed 15 hours ago, so the next nightly should have the original full rust-std again. We'll retry the limited set later, with any 3rd party objects needed, but first I want to figure out how to sanity-check the dist package in CI for all targets so this doesn't regress.

There is a distcheck job, but only for x86_64-unknown-linux-gnu, which wasn't affected. On Discord we were talking about adding a simple "hello world" test as something quick for all targets.

@pietroalbini
Copy link
Member

This should be fixed in the latest nightly.

@jethrogb
Copy link
Contributor Author

Yup it is!

bors added a commit that referenced this issue 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 added a commit that referenced this issue 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: This is a bug. O-musl Target: The musl libc O-windows-gnu Toolchain: GNU, Operating system: Windows P-high High priority regression-from-stable-to-nightly Performance or correctness regression from stable to nightly. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-release Relevant to the release subteam, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants