Currently this is in eclass/toolchain.eclass #---->> SLOT+IUSE logic <<---- IUSE="build multislot nls nptl test vanilla" if [[ ${PN} != "kgcc64" && ${PN} != gcc-* ]] ; then IUSE+=" altivec cxx fortran nocxx" This is the corrected version: #---->> SLOT+IUSE logic <<---- IUSE="build multislot nls nptl test vanilla" if [[ ${PN} != "kgcc64" && ${PN} != gcc-* ]] ; then IUSE+=" altivec cxx fortran" The current version breaks gcc builds. Reproducible: Always
no info on what is actually failing for you ...
Here is the failure of gcc with nocxx in eclass/toolchain.eclass * CFLAGS="-march=amdfam10 -O2 -pipe -O2" * CXXFLAGS="-O2 -pipe" * Configuring gcc ... * We are migrating USE=nocxx to USE=cxx, but your USE settings do not make * sense. Please make sure these two flags line up logically in your setup. * ERROR: sys-devel/gcc-4.5.3-r2 failed (compile phase): * USE='cxx nocxx' and USE='-cxx -nocxx' make no sense * * Call stack: * ebuild.sh, line 85: Called src_compile * environment, line 4071: Called toolchain_src_compile * environment, line 4722: Called gcc_do_configure * environment, line 2174: Called die * The specific snippet of code: * die "USE='cxx nocxx' and USE='-cxx -nocxx' make no sense";
Created attachment 301383 [details] build log Added build.log
Created attachment 301385 [details] environment added environment
sounds like you didn't read the error message
I have not had the nocxx flag in my make.conf for over 2 years now, So I did my part. Both the cxx and nocxx comes from toolchain.eclass: IUSE+=" altivec cxx fortran nocxx" I had to go looking for where this flag was being inserted and that is where I found it.
Another note that might help. This happened while building a stage1 with Metro, however I would expect this to effect Catalyst as well.
if you don't want C++ support, add USE=nocxx to your make.conf. if you want C++ support, add USE=cxx to your make.conf. the profiles already have USE=cxx by default, so if your system lacks that, it's because you removed it.