-
Notifications
You must be signed in to change notification settings - Fork 893
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
detected conflict: '"share/doc/rust/LICENSE-MIT"' #1668
Comments
What's changed in the nightly build to cause this? I'm wondering whether this a bug in Rustup and how it should be solved? |
Maybe the contents of |
FWIW I couldn't reproduce it. Any ideas why you got a conflict on |
I don’t know. I tried to manually downgrade by installing |
I think this was likely to be a bogon in the nightly components, especially if you can't reproduce it. I'll close this for now. |
FWIW, I am encountering this same problem on my windows machine. Perhaps I can help provide some debugging information? |
Normally I'd guess that this means more than one of the components had that path in it, but if the failure is as the OP had it where only one component was being unpacked at the time, then it implies that something more insidious is going on. I guess we should start with:
If you don't have time to diagnose then just do 2a. and let me know where I can get the content from to take a look. |
> rustup update stable
info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu'
info: latest update on 2019-04-25, rust version 1.34.1 (fc50f328b 2019-04-24)
info: downloading component 'rustc'
info: downloading component 'rust-std'
info: downloading component 'cargo'
info: downloading component 'rust-docs'
info: downloading component 'rustfmt'
info: removing component 'rustc'
warning: during uninstall component rustc was not found
info: removing component 'rust-std'
warning: during uninstall component rust-std was not found
info: removing component 'cargo'
warning: during uninstall component cargo was not found
info: removing component 'rust-docs'
warning: during uninstall component rust-docs was not found
info: removing component 'rustfmt'
warning: during uninstall component rustfmt was not found
info: installing component 'rustc'
85.4 MiB / 85.4 MiB (100 %) 9.7 MiB/s ETA: 0 s
info: rolling back changes
error: failed to install component: 'rustc-x86_64-unknown-linux-gnu', detected conflict: '"share/doc/rust/LICENSE-MIT"'
> find ~/.rustup/ -name LICENSE-MIT
/home/nmatsakis/.rustup/tmp/xwjl7jwvgkbtxn7l_dir/LICENSE-MIT
/home/nmatsakis/.rustup/tmp/xwjl7jwvgkbtxn7l_dir/rustc/share/doc/rust/LICENSE-MIT
/home/nmatsakis/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/share/doc/cargo/LICENSE-MIT
/home/nmatsakis/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/share/doc/rust/LICENSE-MIT
/home/nmatsakis/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/share/doc/rust/LICENSE-MIT |
OK, that is fascinating -- where it's fun is the Could you please provide: $ ls ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/manifest-* For example, I get: $ ls ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/manifest-*
/home/danielsilverstone/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/manifest-cargo-x86_64-unknown-linux-gnu
/home/danielsilverstone/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/manifest-clippy-preview-x86_64-unknown-linux-gnu
/home/danielsilverstone/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/manifest-llvm-tools-preview-x86_64-unknown-linux-gnu
/home/danielsilverstone/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/manifest-rls-preview-x86_64-unknown-linux-gnu
/home/danielsilverstone/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/manifest-rust-analysis-x86_64-unknown-linux-gnu
/home/danielsilverstone/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/manifest-rustc-x86_64-unknown-linux-gnu
/home/danielsilverstone/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/manifest-rust-docs-x86_64-unknown-linux-gnu
/home/danielsilverstone/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/manifest-rustfmt-preview-x86_64-unknown-linux-gnu
/home/danielsilverstone/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/manifest-rust-src
/home/danielsilverstone/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/manifest-rust-std-armv7-unknown-linux-gnueabihf
/home/danielsilverstone/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/manifest-rust-std-thumbv6m-none-eabi
/home/danielsilverstone/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/manifest-rust-std-x86_64-apple-darwin
/home/danielsilverstone/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/manifest-rust-std-x86_64-pc-windows-gnu
/home/danielsilverstone/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/manifest-rust-std-x86_64-pc-windows-msvc
/home/danielsilverstone/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/manifest-rust-std-x86_64-unknown-linux-gnu
/home/danielsilverstone/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/manifest-rust-std-x86_64-unknown-linux-musl |
> ls ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/manifest-*
ls: cannot access '/home/nmatsakis/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/manifest-*': No such file or directory |
I sort of dimly recall that I may have tried to delete some stuff in an effort to make this go away =) |
Eep! Are there any |
> ls ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/
components etc multirust-channel-manifest.toml multirust-config.toml rust-installer-version x86_64-unknown-linux-gnu |
If you deleted the manifest files then rustup will be entirely unable to uninstall/update that channel because it won't know which files came from what component. You can remove the entire toolchain directory and ask rustup to reinstall the channel but that's about your best bet at this point 😞 |
I think what I did was to run http://smallcultfollowing.com/rustup-issue-1668.tgz at least for a while :) |
for now I will just kill rustup and reinstall I guess |
Thanks, I've downloaded that now, so you can remove the tarball if you want. I guess that for now that will be your best bet. I think longer-term we ought to detect this kind of issue and offer a way to nuke-from-orbit from within rustup, though you must have gone behind its back at which point UB is your reward anyway :D |
Also happens when I interrupt
|
If you cancel the installation of a component while it's unpacking then it is quite possible it will end up in an inconsistent state. |
interrupting rustup should be safe due to the transaction system, but I am sure there are non-transactional non-automatic-recovery things in there that can break indeed. @kinnison did you get anywhere analysing the downloaded tarball? |
This is another instance of missing/corrupt manifest data. Without knowledge of the installed file, rustup cannot remove it prior to installing the updated version, and then hits a conflict due to the file already existing, and you get the error. We've got a bunch of these bugs scattered all over the place, I'm closing them all to bring order. See #2417. |
Problem
Updating to today’s Nightly fails.
Steps
Notes
Running
rustup uninstall nightly
first works around the issue.The text was updated successfully, but these errors were encountered: