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

Error installing 1.50-x86_64-unknown-linux-musl toolchain on macOS #83154

Closed
probablykasper opened this issue Mar 15, 2021 · 8 comments
Closed
Labels
C-bug Category: This is a bug. regression-from-stable-to-stable Performance or correctness regression from one stable version to another. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.

Comments

@probablykasper
Copy link
Contributor

Installing the <version>-x86_64-unknown-linux-musl toolchain worked for Rust 1.49, but doesn't in Rust 1.50. I'm on x86_64 macOS 10.14.6.

Logs from running rustup toolchain install 1.50-x86_64-unknown-linux-musl:

warning: toolchain '1.50-x86_64-unknown-linux-musl' may not be able to run on this system.
warning: If you meant to build software to target that platform, perhaps try `rustup target add x86_64-unknown-linux-musl` instead?
info: syncing channel updates for '1.50-x86_64-unknown-linux-musl'
info: latest update on 2021-02-11, rust version 1.50.0 (cb75ad5db 2021-02-10)
info: downloading component 'cargo'
info: downloading component 'clippy'
info: downloading component 'rust-docs'
info: downloading component 'rust-std'
info: downloading component 'rustc'
info: downloading component 'rustfmt'
info: installing component 'cargo'
info: using up to 500.0 MiB of RAM to unpack components
info: installing component 'clippy'
info: installing component 'rust-docs'
 14.7 MiB /  14.7 MiB (100 %)   9.2 MiB/s in  1s ETA:  0s
info: rolling back changes
error: failed to install component: 'rust-docs-x86_64-unknown-linux-musl', detected conflict: '"share/doc/rust/html/std/keyword.self.html"'

Not 100% sure if this is the right repo for it, please let me know if not.

@probablykasper probablykasper added the C-bug Category: This is a bug. label Mar 15, 2021
@probablykasper
Copy link
Contributor Author

probablykasper commented Mar 15, 2021

This probably should go in https://github.com/rust-lang/rustup

Edit: I was wrong

@ehuss
Copy link
Contributor

ehuss commented Mar 15, 2021

Although it is a bit unfortunate that rustup fails to install, I think the underlying problem of rustdoc creating files that only differ in case is tracked in #25879 and this particular case is #80504.

@probablykasper
Copy link
Contributor Author

@ehuss Any idea why this specific issue started in 1.50, and why it's not there in 1.50-x86_64-apple-darwin or 1.50-x86_64-pc-windows-gnu?

@ehuss
Copy link
Contributor

ehuss commented Mar 15, 2021

It doesn't apply to the x86_64-apple-darwin targets because those are built on macOS with a case-insensitive filesystem, so the files get stomped on during build time and only one appears in the distribution.

I don't think there is any difference between gnu and musl, they both fail for me.

As for why it changed in 1.50, the way the distribution manifest is created changed as part of #79788 (I think, it changed around the day that merged), so that instead of just indicating there is a single directory to install, the manifest now lists every file individually.

cc @kinnison
cc @pietroalbini Pietro: I'm not sure if it was intended that the component manifest for rust-docs changed from listing a single directory (dir:share/doc/rust/html) to listing each file individually. I'm not sure it matters much either way, but I'm not too familiar with how the manifest is used.

@probablykasper
Copy link
Contributor Author

@ehuss Ah got it, I'm guessing Windows is built with a case-insensitive filesystem as well then. Is there a good reason Linux isn't?

@kinnison
Copy link
Contributor

@probablykasper Linux by default does not use case-insensitive filesystems.

@jyn514 jyn514 added the T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. label Mar 19, 2021
@jyn514
Copy link
Member

jyn514 commented Mar 19, 2021

I marked this as T-infra since I assume you want this to specifically track the failure to install the docs. If you just want to track the name collision this should be closed as a duplicate.

@jyn514 jyn514 added the regression-from-stable-to-stable Performance or correctness regression from one stable version to another. label Mar 19, 2021
Dylan-DPC-zz pushed a commit to Dylan-DPC-zz/rust that referenced this issue Mar 30, 2021
…nflict, r=jyn514

Fix Self keyword doc URL conflict on case insensitive file systems (until definitely fixed on rustdoc)

This is just a hack to allow rustup to work on macOS and windows again to distribute std documentation (hopefully once rust-lang/rfcs#3097 or an equivalent is merged).

Fixes rust-lang#80504. Prevents rust-lang#83154 and rust-lang/rustup#2694 in future releases.

cc `@kinnison`
r? `@jyn514`
Dylan-DPC-zz pushed a commit to Dylan-DPC-zz/rust that referenced this issue Mar 30, 2021
…nflict, r=jyn514

Fix Self keyword doc URL conflict on case insensitive file systems (until definitely fixed on rustdoc)

This is just a hack to allow rustup to work on macOS and windows again to distribute std documentation (hopefully once rust-lang/rfcs#3097 or an equivalent is merged).

Fixes rust-lang#80504. Prevents rust-lang#83154 and rust-lang/rustup#2694 in future releases.

cc ``@kinnison``
r? ``@jyn514``
ehuss pushed a commit to ehuss/rust that referenced this issue Apr 21, 2021
…nflict, r=jyn514

Fix Self keyword doc URL conflict on case insensitive file systems (until definitely fixed on rustdoc)

This is just a hack to allow rustup to work on macOS and windows again to distribute std documentation (hopefully once rust-lang/rfcs#3097 or an equivalent is merged).

Fixes rust-lang#80504. Prevents rust-lang#83154 and rust-lang/rustup#2694 in future releases.

cc ``@kinnison``
r? ``@jyn514``
@probablykasper
Copy link
Contributor Author

Seems to be fixed by #83678

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. regression-from-stable-to-stable Performance or correctness regression from one stable version to another. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

4 participants