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

Compile fails with error[E0596]: cannot borrow data in a & reference as mutable #9340

Closed
heitbaum opened this issue Apr 10, 2021 · 9 comments
Labels
C-bug Category: bug

Comments

@heitbaum
Copy link

Hi Team,

Hoping you can help provide direction on enabling me to compile cargo on Ubuntu?

Problem

Compile of cargo fails with error[E0596]: cannot borrow data in a & reference as mutable --> src/cargo/ops/registry/auth.rs:179:22

     Running `rustc --crate-name cargo --edition=2018 src/cargo/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -Cembed-bitcode=no -C metadata=fcda814460223ad7 -C extra-filename=-fcda814460223ad7 --out-dir /storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps -L dependency=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps --extern anyhow=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libanyhow-1c53e26d4f701de5.rmeta --extern atty=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libatty-5da2a5b1b0619ccb.rmeta --extern bytesize=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libbytesize-537eff8f51027845.rmeta --extern cargo_platform=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libcargo_platform-35a551d9448613f0.rmeta --extern clap=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libclap-a6bc5b1a29b54cde.rmeta --extern crates_io=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libcrates_io-0c85e77ab5121168.rmeta --extern crossbeam_utils=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libcrossbeam_utils-c0eb0af7bbd3c0e4.rmeta --extern crypto_hash=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libcrypto_hash-d6eff790202c839d.rmeta --extern curl=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libcurl-6b3f1e4bda50fed5.rmeta --extern curl_sys=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libcurl_sys-5f29ee6e195fa053.rmeta --extern env_logger=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libenv_logger-6d0302f9c364c930.rmeta --extern filetime=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libfiletime-00e2581356642a96.rmeta --extern flate2=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libflate2-103acf0118d68fee.rmeta --extern git2=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libgit2-77e470f4bda54779.rmeta --extern git2_curl=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libgit2_curl-7b9e534ba92dedc9.rmeta --extern glob=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libglob-79871967e9050048.rmeta --extern hex=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libhex-db6f8661721e839c.rmeta --extern home=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libhome-d24e63cd087dab36.rmeta --extern humantime=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libhumantime-7b985e041ab2a137.rmeta --extern ignore=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libignore-3cac5c65e9692b9f.rmeta --extern im_rc=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libim_rc-d248182a22c82e85.rmeta --extern jobserver=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libjobserver-1db59bee580b7c9d.rmeta --extern lazy_static=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/liblazy_static-c70746c7b4a364e2.rmeta --extern lazycell=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/liblazycell-c0e667f33d0d2326.rmeta --extern libc=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/liblibc-962a47abb3853eb2.rmeta --extern libgit2_sys=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/liblibgit2_sys-62209a93afdaaa7e.rmeta --extern log=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/liblog-8e6cded32cc9cc2d.rmeta --extern memchr=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libmemchr-6486d54fdedaa4aa.rmeta --extern num_cpus=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libnum_cpus-078c0b5efb64ae0b.rmeta --extern opener=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libopener-08bd5e82cf35523d.rmeta --extern percent_encoding=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libpercent_encoding-aeb701ccdb3b0a2e.rmeta --extern rustc_workspace_hack=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/librustc_workspace_hack-0a171c02df2b99d6.rmeta --extern rustfix=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/librustfix-fcdf2a41ad5ededf.rmeta --extern same_file=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libsame_file-af530f41959b6503.rmeta --extern semver=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libsemver-ffbd5dc72452a7f5.rmeta --extern serde=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libserde-9c7922cbaa0946a1.rmeta --extern serde_ignored=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libserde_ignored-d98516e6e5166198.rmeta --extern serde_json=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libserde_json-faec5123b5e7a120.rmeta --extern shell_escape=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libshell_escape-fb5f241648a3f13e.rmeta --extern strip_ansi_escapes=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libstrip_ansi_escapes-f7cfa85dcad5d6c6.rmeta --extern tar=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libtar-25c694660da3b5ce.rmeta --extern tempfile=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libtempfile-a52242ea366ed9e1.rmeta --extern termcolor=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libtermcolor-2c175e2d268e8fc5.rmeta --extern toml=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libtoml-ce42e399035f5710.rmeta --extern unicode_width=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libunicode_width-ec3ea9d664df4ff4.rmeta --extern unicode_xid=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libunicode_xid-455bd942d10a9875.rmeta --extern url=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/liburl-3b1cf9941ab0c4a9.rmeta --extern walkdir=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libwalkdir-d2c24ff4c45b30c1.rmeta -L native=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/build/curl-sys-4f6a5bb69bd901eb/out/build -L native=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/build/libnghttp2-sys-da3260217c1760f9/out/i/lib -L native=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/toolchain/lib -L native=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/toolchain/lib -L native=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/toolchain/lib -L native=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/build/libgit2-sys-ad05d0604d6d3703/out/build -L native=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/build/libssh2-sys-a4beb5c34d931f86/out/build`
error[E0596]: cannot borrow data in a `&` reference as mutable
   --> src/cargo/ops/registry/auth.rs:179:22
    |
179 |             writeln!(child.stdin.as_ref().unwrap(), "{}", token).chain_err(|| {
    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot borrow as mutable

error: aborting due to previous error

For more information about this error, try `rustc --explain E0596`.
error: could not compile `cargo`.

Caused by:
  process didn't exit successfully: `rustc --crate-name cargo --edition=2018 src/cargo/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -Cembed-bitcode=no -C metadata=fcda814460223ad7 -C extra-filename=-fcda814460223ad7 --out-dir /storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps -L dependency=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps --extern anyhow=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libanyhow-1c53e26d4f701de5.rmeta --extern atty=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libatty-5da2a5b1b0619ccb.rmeta --extern bytesize=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libbytesize-537eff8f51027845.rmeta --extern cargo_platform=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libcargo_platform-35a551d9448613f0.rmeta --extern clap=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libclap-a6bc5b1a29b54cde.rmeta --extern crates_io=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libcrates_io-0c85e77ab5121168.rmeta --extern crossbeam_utils=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libcrossbeam_utils-c0eb0af7bbd3c0e4.rmeta --extern crypto_hash=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libcrypto_hash-d6eff790202c839d.rmeta --extern curl=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libcurl-6b3f1e4bda50fed5.rmeta --extern curl_sys=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libcurl_sys-5f29ee6e195fa053.rmeta --extern env_logger=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libenv_logger-6d0302f9c364c930.rmeta --extern filetime=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libfiletime-00e2581356642a96.rmeta --extern flate2=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libflate2-103acf0118d68fee.rmeta --extern git2=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libgit2-77e470f4bda54779.rmeta --extern git2_curl=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libgit2_curl-7b9e534ba92dedc9.rmeta --extern glob=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libglob-79871967e9050048.rmeta --extern hex=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libhex-db6f8661721e839c.rmeta --extern home=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libhome-d24e63cd087dab36.rmeta --extern humantime=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libhumantime-7b985e041ab2a137.rmeta --extern ignore=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libignore-3cac5c65e9692b9f.rmeta --extern im_rc=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libim_rc-d248182a22c82e85.rmeta --extern jobserver=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libjobserver-1db59bee580b7c9d.rmeta --extern lazy_static=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/liblazy_static-c70746c7b4a364e2.rmeta --extern lazycell=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/liblazycell-c0e667f33d0d2326.rmeta --extern libc=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/liblibc-962a47abb3853eb2.rmeta --extern libgit2_sys=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/liblibgit2_sys-62209a93afdaaa7e.rmeta --extern log=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/liblog-8e6cded32cc9cc2d.rmeta --extern memchr=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libmemchr-6486d54fdedaa4aa.rmeta --extern num_cpus=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libnum_cpus-078c0b5efb64ae0b.rmeta --extern opener=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libopener-08bd5e82cf35523d.rmeta --extern percent_encoding=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libpercent_encoding-aeb701ccdb3b0a2e.rmeta --extern rustc_workspace_hack=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/librustc_workspace_hack-0a171c02df2b99d6.rmeta --extern rustfix=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/librustfix-fcdf2a41ad5ededf.rmeta --extern same_file=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libsame_file-af530f41959b6503.rmeta --extern semver=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libsemver-ffbd5dc72452a7f5.rmeta --extern serde=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libserde-9c7922cbaa0946a1.rmeta --extern serde_ignored=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libserde_ignored-d98516e6e5166198.rmeta --extern serde_json=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libserde_json-faec5123b5e7a120.rmeta --extern shell_escape=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libshell_escape-fb5f241648a3f13e.rmeta --extern strip_ansi_escapes=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libstrip_ansi_escapes-f7cfa85dcad5d6c6.rmeta --extern tar=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libtar-25c694660da3b5ce.rmeta --extern tempfile=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libtempfile-a52242ea366ed9e1.rmeta --extern termcolor=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libtermcolor-2c175e2d268e8fc5.rmeta --extern toml=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libtoml-ce42e399035f5710.rmeta --extern unicode_width=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libunicode_width-ec3ea9d664df4ff4.rmeta --extern unicode_xid=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libunicode_xid-455bd942d10a9875.rmeta --extern url=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/liburl-3b1cf9941ab0c4a9.rmeta --extern walkdir=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/deps/libwalkdir-d2c24ff4c45b30c1.rmeta -L native=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/build/curl-sys-4f6a5bb69bd901eb/out/build -L native=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/build/libnghttp2-sys-da3260217c1760f9/out/i/lib -L native=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/toolchain/lib -L native=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/toolchain/lib -L native=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/toolchain/lib -L native=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/build/libgit2-sys-ad05d0604d6d3703/out/build -L native=/storage/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-10.0-devel/build/cargo-0.52.0/target/release/build/libssh2-sys-a4beb5c34d931f86/out/build` (exit code: 1)

Steps

  1. tar xf https://github.com/rust-lang/cargo/archive/refs/tags/0.52.0.tar.gz
  2. cargo build --verbose --release

Possible Solution(s)

Notes
Build is on ubuntu 18.04
Output of cargo version: 1.46.0

rustc (1.47.0+dfsg1+llvm-1ubuntu118.04.1) ...
cargo (0.47.0-1
exp1ubuntu1~18.04.1) ...

$ cargo --version
cargo 1.46.0
$ rustc --version
rustc 1.47.0

Full logs

@heitbaum heitbaum added the C-bug Category: bug label Apr 10, 2021
@Eh2406
Copy link
Contributor

Eh2406 commented Apr 10, 2021

Cargo normally only has compatibility with the current stable version of Rust. ( And vice versa, Cargo only knows how to run the current nightly version of Rust ) Why do you want to build Cargo 0.52 with Rust 1.47? I would love to understand your use case better?

@alexcrichton
Copy link
Member

Thanks for the report but as mentioned you'll need to use the latest stable to guarantee being able to build the latest stable version of Cargo.

@heitbaum
Copy link
Author

@Eh2406 - I got it working, I used the latest downloadable, then compiled the version I needed. Bit of a round about way, but result was a-ok. As a completely different question - is there / should there be a way of building cargo/rust from bootstrap?

@Eh2406
Copy link
Contributor

Eh2406 commented Apr 18, 2021 via email

@dabrain34
Copy link

I faced the bug with ubuntu 20.04 package, what would be the best option I have to install rust on a deb based distro ?

@heitbaum
Copy link
Author

Had to download a current rust and use that as a bootstrap. I haven’t done a full bootstrap yet with LibreELEC - on my list

@dabrain34
Copy link

do we know what version we need as a minimum to avoid this bug ?

@heitbaum
Copy link
Author

It is the current or previous version

@dabrain34
Copy link

you mean 1.52.0 and not before ?

gstreamer-github pushed a commit to sdroege/gst-plugin-rs that referenced this issue May 17, 2021
Using ubuntu 20.04, the build was failing with version
cargo 0.47 / rustc 1.47.

Following this discussion:
rust-lang/cargo#9340

it appears that rustc 1.52 is the minimum version.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: bug
Projects
None yet
Development

No branches or pull requests

4 participants