libtool is pulled in by bootstrap as a dependency of ncurses, but at this time, the installed gcc is C only (no C++, fortran, java, etc). This results in libtool not having support for c++, so the installed /usr/bin/libtool is gimped. Additionally, this means that libraries linked with these libtools will fail silently in not linking against libstdc++. example: /bin/sh ../libtool --mode=link g++ <snip> gcc -shared <snip> when I reemerged libtool, I got /bin/sh ../libtool --mode=link g++ <snip> g++ -shared <snip> This is because it added the available_tags=" CXX" to /usr/bin/libtool I think it might be a good idea to emerge the full gcc after glibc
Created attachment 35484 [details] This is the output of emerge system
As a temporary hack, we could rebuild libtool at the same time as we rebuild ncurses here: # ncurses-5.3 and up also build c++ bindings, so we need to rebuild it export USE="${ORIGUSE}" emerge ${STRAP_EMERGE_OPTS} ${myNCURSES} || cleanup 1 But I'd rather not stick more crap in bootstrap. Has anyone done any testing with changing the bootstrap order to build the full gcc first?
or we could force CXX to always show up in available_tags ... if a package needs C++ and the system doesnt support g++, then the package will fail anyways ... eradicator: is the only difference between /usr/bin/libtool before and a re-emerge that line ? both libtool's have the '# ### BEGIN LIBTOOL TAG CONFIG: CXX' stuff at the end ?
ncurses at bootstrap time is built w/out C++ support ...