checking for the correct version of the mpc libraries... yes configure: error: cargo is required to build rust * ERROR: sys-devel/gcc-14.0.9999::gentoo failed (configure phase): * Failed to run command: /bin/sh /var/tmp/portage/sys-devel/gcc-14.0.9999/work/gcc-14.0.9999/configure --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/14 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/14/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/14 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/14/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/14/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14 --disable-silent-rules --disable-dependency-tracking --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/14/python --enable-languages=c,c++,fortran,rust --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --enable-nls --without-included-gettext --disable-libunwind-exceptions --enable-checking=yes,extra --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion=Gentoo 14.0.9999 p, commit a447cd6dee206facb66720bdacf0c765a8b09f33 --with-gcc-major-version-only --enable-libstdcxx-time --enable-lto --disable-libstdcxx-pch --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-multilib --with-multilib-list=m32,m64 --disable-fixed-point --enable-targets=all --enable-libgomp --disable-libssp --disable-libada --disable-cet --disable-systemtap --disable-valgrind-annotations --disable-vtable-verify --disable-libvtv --without-zstd --with-isl --disable-isl-version-check --enable-default-pie --enable-host-pie --disable-host-bind-now --enable-default-ssp --disable-fixincludes * * Call stack: * ebuild.sh, line 136: Called src_configure emerge -pv gcc says [ebuild NS *] sys-devel/gcc-15.0.9999:15::gentoo [13.2.1_p20231014:13::gentoo, 14.0.9999:14::gentoo] USE="(cxx) fortran graphite (multilib) nls openmp (pie) rust sanitize ssp -ada -cet (-custom-cflags) -d -debug -default-stack-clash-protection -default-znow -doc (-fixed-point) -go -hardened (-ieee-long-double) -jit (-libssp) -lto -modula2 -objc -objc++ -objc-gc (-pch) -pgo -systemtap -test -valgrind -vanilla -vtv -zstd" 0 KiB nothing else pulled in, rust is /not/ installed: emerge -pv virtual/rust [...] [ebuild N ] virtual/rust-1.77.1:0/llvm-17::gentoo USE="-profiler -rustfmt" ABI_X86="(64) -32 (-x32)" 0 KiB So somehow USE="rust" is active, but no rust toolchain pulled in. toolchain.elass says: if tc_has_feature rust && tc_version_is_at_least 14.0.0_pre20230421 ; then # This was added upstream in r14-9968-g3e1e73fc995844 as a temporary measure. # See https://inbox.sourceware.org/gcc/34fec7ea-8762-4cac-a1c8-ff54e20e31ed@embecosm.com/ BDEPEND+=" rust? ( virtual/rust )" fi which should definitely trigger for gcc:14 and gcc:15, so I have no good idea how portage manages to not pull in virtual/rust.
$ grep BDEPEND /var/db/repos/gentoo/metadata/md5-cache/sys-devel/gcc-15.0.9999 BDEPEND=amd64? ( >=sys-devel/binutils-2.30[cet(-)?] ) sys-devel/gnuconfig >=app-portage/elt-patches-20240116 >=dev-vcs/git-1.8.2.1[curl] app-alternatives/yacc >=sys-devel/flex-2.5.4 nls? ( sys-devel/gettext ) test? ( || ( dev-lang/python:3.11 dev-lang/python:3.10 ) >=dev-util/dejagnu-1.4.4 >=sys-devel/autogen-5.5.4 ) valgrind? ( dev-debug/valgrind ) d? ( || ( sys-devel/gcc[d(-)] <sys-devel/gcc-12[d(-)] ) ) so it's definitely something wrong in the eclass, looking...
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8cae9d4db1c14e18dafb28853f722aac6784b34a commit 8cae9d4db1c14e18dafb28853f722aac6784b34a Author: Sam James <sam@gentoo.org> AuthorDate: 2024-04-30 05:56:25 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-04-30 05:56:25 +0000 toolchain.eclass: wire up TC_FEATURES for rust Otherwise we don't actually end up adding a BDEPEND for USE=rust. Closes: https://bugs.gentoo.org/930953 Signed-off-by: Sam James <sam@gentoo.org> eclass/toolchain.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Thanks! I think that area is one of the bits which needs some more love next. I've managed to clean up a lot of the eclass but I've not touched that yet.