Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 706292 - dev-lang/rust[system-bootstrap] should check compiler version before attempting bootstrap
Summary: dev-lang/rust[system-bootstrap] should check compiler version before attempti...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Rust Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 689336
  Show dependency tree
 
Reported: 2020-01-25 11:19 UTC by Kent Fredric (IRC: kent\n) (RETIRED)
Modified: 2020-11-26 19:25 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
rust build log (rust-1.40.0-r1:20200125-110133.log,251.82 KB, text/plain)
2020-01-25 11:19 UTC, Kent Fredric (IRC: kent\n) (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2020-01-25 11:19:26 UTC
Created attachment 604248 [details]
rust build log

Currently have:


dev-lang/rust-1.39.0::gentoo was built with the following:
USE="clippy doc rls rustfmt system-llvm wasm -debug -libressl" ABI_X86="32 (64) (-x32)" CPU_FLAGS_X86="sse2" LLVM_TARGETS="BPF NVPTX WebAssembly (X86) -AArch64 -AMDGPU -ARM -Hexagon -Lanai -MSP430 -Mips -PowerPC -RISCV -Sparc -SystemZ -XCore"


dev-lang/rust-bin-1.40.0::gentoo was built with the following:
USE="-clippy -doc -libressl -rustfmt" ABI_X86="32 (64) (-x32)" CPU_FLAGS_X86="sse2"

The latter due to USE="system-bootstrap"

Portage tries to install rust:


[ebuild     U  ] dev-lang/rust-1.40.0-r1:stable/1.40::gentoo [1.39.0:stable/1.39::gentoo] USE="clippy rls rustfmt system-bootstrap%* wasm -debug -doc* -libressl -nightly% -parallel-compiler% -system-llvm*" ABI_X86="32 (64) (-x32)" CPU_FLAGS_X86="sse2" LLVM_TARGETS="BPF NVPTX WebAssembly (X86) -AArch64 -AMDGPU -ARM -Hexagon -Lanai -MSP430 -Mips -PowerPC -RISCV -Sparc -SystemZ -XCore" 0 KiB

Then something happens and eventually:

   Compiling libc v0.2.64
   Compiling semver-parser v0.7.0
     Running `/var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/build/bootstrap/debug/rustc --crate-name cfg_if /var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/vendor/cfg-if/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=2 -C debuginfo=0 -C metadata=1bf8d2ec088b41c7 -C extra-filename=-1bf8d2ec088b41c7 --out-dir /var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -C linker=x86_64-pc-linux-gnu-gcc -L dependency=/var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps -L dependency=/var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/build/x86_64-unknown-linux-gnu/stage0-rustc/release/deps --cap-lints allow --cfg=bootstrap -Zexternal-macro-backtrace -Wrust_2018_idioms -Wunused_lifetimes -Dwarnings -Zunstable-options '-Wrustc::internal' -Cprefer-dynamic -Zbinary-dep-depinfo`
     Running `/var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/build/bootstrap/debug/rustc --crate-name build_script_build /var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/vendor/libc/build.rs --error-format json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C opt-level=2 -C debuginfo=0 --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=400e936524cfb9cb -C extra-filename=-400e936524cfb9cb --out-dir /var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/build/x86_64-unknown-linux-gnu/stage0-rustc/release/build/libc-400e936524cfb9cb -C linker=x86_64-pc-linux-gnu-gcc -L dependency=/var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/build/x86_64-unknown-linux-gnu/stage0-rustc/release/deps --cap-lints allow -Zbinary-dep-depinfo`
     Running `/var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/build/bootstrap/debug/rustc --crate-name semver_parser /var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/vendor/semver-parser/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=2 -C debuginfo=0 -C metadata=27b008c5ef5bfc5d -C extra-filename=-27b008c5ef5bfc5d --out-dir /var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/build/x86_64-unknown-linux-gnu/stage0-rustc/release/deps -C linker=x86_64-pc-linux-gnu-gcc -L dependency=/var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/build/x86_64-unknown-linux-gnu/stage0-rustc/release/deps --cap-lints allow -Zbinary-dep-depinfo`
rustc command: "LD_LIBRARY_PATH"="/usr/lib:/var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/build/x86_64-unknown-linux-gnu/stage0-rustc/release/deps:/usr/lib" "/usr/bin/rustc" "--crate-name" "build_script_build" "/var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/vendor/libc/build.rs" "--error-format" "json" "--json=diagnostic-rendered-ansi" "--crate-type" "bin" "--emit=dep-info,link" "-C" "opt-level=2" "-C" "debuginfo=0" "--cfg" "feature=\"default\"" "--cfg" "feature=\"std\"" "-C" "metadata=400e936524cfb9cb" "-C" "extra-filename=-400e936524cfb9cb" "--out-dir" "/var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/build/x86_64-unknown-linux-gnu/stage0-rustc/release/build/libc-400e936524cfb9cb" "-C" "linker=x86_64-pc-linux-gnu-gcc" "-L" "dependency=/var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/build/x86_64-unknown-linux-gnu/stage0-rustc/release/deps" "--cap-lints" "allow" "-Zbinary-dep-depinfo" "-Clinker=x86_64-pc-linux-gnu-gcc"
rustc command: "LD_LIBRARY_PATH"="/usr/lib:/var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/build/x86_64-unknown-linux-gnu/stage0-rustc/release/deps:/usr/lib" "/usr/bin/rustc" "--crate-name" "cfg_if" "/var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/vendor/cfg-if/src/lib.rs" "--error-format=json" "--json=diagnostic-rendered-ansi,artifacts" "--crate-type" "lib" "--emit=dep-info,metadata,link" "-C" "opt-level=2" "-C" "debuginfo=0" "-C" "metadata=1bf8d2ec088b41c7" "-C" "extra-filename=-1bf8d2ec088b41c7" "--out-dir" "/var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps" "--target" "x86_64-unknown-linux-gnu" "-C" "linker=x86_64-pc-linux-gnu-gcc" "-L" "dependency=/var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps" "-L" "dependency=/var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/build/x86_64-unknown-linux-gnu/stage0-rustc/release/deps" "--cap-lints" "allow" "--cfg=bootstrap" "-Zexternal-macro-backtrace" "-Wrust_2018_idioms" "-Wunused_lifetimes" "-Dwarnings" "-Zunstable-options" "-Wrustc::internal" "-Cprefer-dynamic" "-Zbinary-dep-depinfo" "--sysroot" "/var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/build/x86_64-unknown-linux-gnu/stage0-sysroot" "-C" "debug-assertions=n" "-Z" "force-unstable-if-unmarked"
sysroot: "/var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/build/x86_64-unknown-linux-gnu/stage0-sysroot"
libdir: "/usr/lib"
sysroot: "/var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/build/x86_64-unknown-linux-gnu/stage0-sysroot"
libdir: "/usr/lib"
rustc command: "LD_LIBRARY_PATH"="/usr/lib:/var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/build/x86_64-unknown-linux-gnu/stage0-rustc/release/deps:/usr/lib" "/usr/bin/rustc" "--crate-name" "semver_parser" "/var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/vendor/semver-parser/src/lib.rs" "--error-format=json" "--json=diagnostic-rendered-ansi,artifacts" "--crate-type" "lib" "--emit=dep-info,metadata,link" "-C" "opt-level=2" "-C" "debuginfo=0" "-C" "metadata=27b008c5ef5bfc5d" "-C" "extra-filename=-27b008c5ef5bfc5d" "--out-dir" "/var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/build/x86_64-unknown-linux-gnu/stage0-rustc/release/deps" "-C" "linker=x86_64-pc-linux-gnu-gcc" "-L" "dependency=/var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/build/x86_64-unknown-linux-gnu/stage0-rustc/release/deps" "--cap-lints" "allow" "-Zbinary-dep-depinfo" "-Clinker=x86_64-pc-linux-gnu-gcc"
sysroot: "/var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/build/x86_64-unknown-linux-gnu/stage0-sysroot"
libdir: "/usr/lib"
error[E0463]: can't find crate for `core`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
error: could not compile `cfg-if`.

Caused by:
  process didn't exit successfully: `/var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/build/bootstrap/debug/rustc --crate-name cfg_if /var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/vendor/cfg-if/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=2 -C debuginfo=0 -C metadata=1bf8d2ec088b41c7 -C extra-filename=-1bf8d2ec088b41c7 --out-dir /var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -C linker=x86_64-pc-linux-gnu-gcc -L dependency=/var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps -L dependency=/var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/build/x86_64-unknown-linux-gnu/stage0-rustc/release/deps --cap-lints allow --cfg=bootstrap -Zexternal-macro-backtrace -Wrust_2018_idioms -Wunused_lifetimes -Dwarnings -Zunstable-options '-Wrustc::internal' -Cprefer-dynamic -Zbinary-dep-depinfo` (exit code: 1)
warning: build failed, waiting for other jobs to finish...
error: build failed
command did not execute successfully: "/usr/bin/cargo" "build" "-Zconfig-profile" "--target" "x86_64-unknown-linux-gnu" "-Zbinary-dep-depinfo" "-j" "3" "-v" "--release" "--locked" "--frozen" "--features" "" "--manifest-path" "/var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/src/rustc/Cargo.toml" "--message-format" "json-render-diagnostics"
expected success, got: exit code: 101
Traceback (most recent call last):
  File "./x.py", line 11, in <module>
    bootstrap.main()
  File "/var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/src/bootstrap/bootstrap.py", line 895, in main
    bootstrap(help_triggered)
  File "/var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/src/bootstrap/bootstrap.py", line 881, in bootstrap
    run(args, env=env, verbose=build.verbose)
  File "/var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/src/bootstrap/bootstrap.py", line 141, in run
    raise RuntimeError(err)
RuntimeError: failed to run: /var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/build/bootstrap/debug/bootstrap build -vv --config=/var/tmp/portage/dev-lang/rust-1.40.0-r1/work/rustc-1.40.0-src/config.toml -j3 --exclude src/tools/miri


Many much crying to be had.
Comment 1 Georgy Yakovlev archtester gentoo-dev 2020-01-30 18:02:44 UTC
like discussed on irc you probably had rust-1.39.0 active and system-bootstrap needs some logic to prevent using outdated rust.

error[E0463]: can't find crate for `core` happens with every dev-lang/rust before 1.40.0-r1 if you try to use it for bootstrap.

you should be able to bootstrap 1.40.0-r1 using rust-bin, just make sure it's eselected.
Comment 2 Larry the Git Cow gentoo-dev 2020-08-04 23:44:44 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ef89cb77bf9fc16eec9e140e29138adb8d74258a

commit ef89cb77bf9fc16eec9e140e29138adb8d74258a
Author:     Georgy Yakovlev <gyakovlev@gentoo.org>
AuthorDate: 2020-08-04 23:39:45 +0000
Commit:     Georgy Yakovlev <gyakovlev@gentoo.org>
CommitDate: 2020-08-04 23:43:11 +0000

    dev-lang/rust: improve pre-build checks in 1.45.2
    
    Bug: https://bugs.gentoo.org/709362
    Bug: https://bugs.gentoo.org/706292
    Package-Manager: Portage-3.0.1, Repoman-2.3.23
    Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>

 dev-lang/rust/rust-1.45.2.ebuild | 34 +++++++++++++++++++++++++++++++---
 1 file changed, 31 insertions(+), 3 deletions(-)
Comment 3 Georgy Yakovlev archtester gentoo-dev 2020-11-26 19:25:16 UTC
this is fixed, new versions check lower and upper bound, ebuilds auto-eselect latest rust on emerge.