lib/csu/powerpc64/ requires/uses gcc command; does not use CC, XCC, or the like; its Makefile explains what caused the choice...
markmi at dsl-only.net
Thu Mar 19 12:13:06 UTC 2015
For a CROSS_TOOLCHAIN=powerpc64-gcc based 11.0-CURRENT previously built via WITHOUT_GCC_BOOTSTRAP= WITHOUT_GCC= and for which delete-old had cleaned out the 4.2.1 gcc and for which a rebuild is attempted with...
make -j 8 CROSS_TOOLCHAIN=powerpc64-gcc \
WITHOUT_CLANG_BOOTSTRAP= WITHOUT_CLANG= WITHOUT_CLANG_IS_CC= \
WITH_GCC_BOOTSTRAP= WITH_GCC= WITH_GNUCXX= \
WITHOUT_BOOT= WITHOUT_LIB32= \
buildworld buildkernel \
# more /etc/src.conf
It turns out that lib/csu/powerpc64/ still tries to use the gcc command:
CC='gcc -I/usr/obj/usr/srcC/tmp/usr/include/c++/v1' mkdep -f .depend -a -I/usr/srcC/lib/csu/powerpc64/../common -I/usr/srcC/lib/csu/powerpc64/../../libc/include -std=gnu99 /usr/srcC/lib/csu/powerpc64/crt1.c /usr/srcC/lib/csu/powerpc64/crti.S /usr/srcC/lib/csu/powerpc64/crtn.S
/usr/bin/mkdep: gcc: not found
That stops the build.
# XXX: See the log for r232932 as to why the above -mlongcall is needed. Since
# clang doesn't support -mlongcall, and testing shows a clang linked with a
# clang-built csu segfaults, this must currently be compiled with gcc. Once
# clang supports -mlongcall, or we get a fixed ld, this can be revisited.
So this lead to another after-booted-as-gcc-4.9.1-based type of oddity...
Currently I'm having /usr/bin/gcc and /usr/bin/g++ be manually placed symbolic links to the powerpc64-gcc programs, much like I've directed /usr/lib/libstdc++.a and /usr/lib/libstdc++.so to reference the matching libc++ file in the same directory in order to avoid complaints about not finding -lstdc++ when I attempt the above make command.
I've noticed that /usr/bin/cc and /usr/bin/c++ are still there for the powerpc64-gcc experimental sequence that I've gone through and they are still gcc 4.2.1. So I could point gcc and g++ to those to better match the old context. But I'm exploring avoiding gcc 4.2.1 as much as I reasonably can.
I'm still avoiding building clang because a quick try got lost of error reports, such as reports of attempts to use deleted functions. That would seem to make an independent exploration direction. For now I'm just checking on having a way to rebuild again but from the powerpc64-gcc (4.9.1) build, this time including WITH_GCC_BOOTSTRAP= and WITH_GCC= and WITH_GNUCXX= but avoiding their use.
markmi at dsl-only.net
More information about the freebsd-ports