Summary: | dev-lang/rust-1.79.0-r100[system-bootstrap]: cannot rebuild if eselected rust is newer version | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | i.Dark_Templar <idarktemplar> |
Component: | Current packages | Assignee: | Randy Barlow <randy> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | crabbedhaloablution, idarktemplar, kangie, matoro_gentoo, navi, orbea, rust |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | build.log |
Description
i.Dark_Templar
2024-11-09 14:23:43 UTC
Please include the full build.log. Created attachment 908306 [details]
build.log
# emerge -pqv '=dev-lang/rust-1.79.0-r100::gentoo' [ebuild R ] dev-lang/rust-1.79.0-r100 USE="clippy rust-src rustfmt system-bootstrap* (-big-endian) -debug -dist -doc (-llvm-libunwind) -lto (-miri) (-nightly) (-parallel-compiler) -rust-analyzer (-system-llvm) -test -verify-sig -wasm" ABI_X86="32 (64) (-x32)" CPU_FLAGS_X86="sse2" LLVM_SLOT="18" LLVM_TARGETS="AMDGPU BPF NVPTX WebAssembly (X86) -AArch64 -ARC -ARM -AVR -CSKY -DirectX -Hexagon -Lanai -LoongArch -M68k -MSP430 -Mips -PowerPC -RISCV -SPIRV -Sparc -SystemZ -VE -XCore -Xtensa" Kangie and I had discussed this in the abstract -- dev-lang/rust needs to use rust.eclass for the iteration side but it may require some eclass changes to properly express the constraints it needs. Of course, this has an easy workaround for now (either 'eselect rust set' or USE=-system-bootstrap). Yep, I can confirm both workarounds working. The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=309a391f9ebb245e1016e3ff49a21398c212614b commit 309a391f9ebb245e1016e3ff49a21398c212614b Author: Matt Jolly <kangie@gentoo.org> AuthorDate: 2024-11-11 13:28:04 +0000 Commit: Matt Jolly <kangie@gentoo.org> CommitDate: 2024-11-11 14:35:48 +0000 dev-lang/rust: use rust.eclass for USE=system-bootstrap Take advantage of rust.eclass for dependency generation and appropriate bootstrap slot selection. Between the PATH manipulation that the eclass performs and the exported `RUSTC` we should see significantly more consistent bootstraps. Without this change `eselect-rust` would determine which `rustc` to run, resulting in build failures if an incorrect Rust was selected (which is nearly always in the age of slotted Rust). This is also one step towards removing USE=system-bootstrap entirely; now that we can reliably (and trivially) select appropriate slots for both dev-lang/rust and dev-lang/rust-bin we'll shortly be able to avoid downloading bootstrap bins at all. Bug: https://bugs.gentoo.org/943144 Closes: https://bugs.gentoo.org/943145 Signed-off-by: Matt Jolly <kangie@gentoo.org> dev-lang/rust/rust-1.71.1-r100.ebuild | 56 +++++++---------------------------- dev-lang/rust/rust-1.74.1-r100.ebuild | 53 ++++++--------------------------- dev-lang/rust/rust-1.75.0-r100.ebuild | 56 +++++++---------------------------- dev-lang/rust/rust-1.77.1-r100.ebuild | 55 +++++++--------------------------- dev-lang/rust/rust-1.79.0-r100.ebuild | 53 ++++++--------------------------- dev-lang/rust/rust-1.80.1-r100.ebuild | 53 ++++++--------------------------- dev-lang/rust/rust-1.81.0-r100.ebuild | 53 ++++++--------------------------- dev-lang/rust/rust-1.82.0-r100.ebuild | 53 ++++++--------------------------- 8 files changed, 75 insertions(+), 357 deletions(-) |