Skip to content

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

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

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.
# for free to join this conversation on GitHub. Already have an account? # 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