I do buildworld/buildkernel on a powerpc64 targeting itself via lang/powerpc64-xtoolchain-gcc (a.k.a. lang/powerpc64-gcc for the most part). [Getting that lang/powerpc64-gcc installed for self-hosted use does take some work-around activity.] I have buildworld build clang (but not use it). [I've been doing this with 11.0-CURRENT for a long time.]
Actually I use lang/gcc49 as the "system compiler" and lang/powerpc64-gcc as the self-hosting so-called "cross compiler". (I later list the src.conf content.) gcc4.2.1 is not installed. Trying to go from: > # uname -apKU > FreeBSD FBSDG5C0 11.0-CURRENT FreeBSD 11.0-CURRENT #36 r300531M: Mon May 23 > 20:13:52 PDT 2016 > root@FBSDG5C0:/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/sys/GENERIC64vtsc-NODEBUG > powerpc powerpc64 1100111 1100111 (for which -r300531 built and installed fine this way) to -r300777 now fails with errors such as: > --- lib/libc++__L --- > In file included from > /usr/src/lib/libc++/../../contrib/libc++/include/iterator:346:0, > from > /usr/src/lib/libc++/../../contrib/libc++/include/memory:606, > from > /usr/src/lib/libc++/../../contrib/libc++/include/algorithm:628, > from > /usr/src/lib/libc++/../../contrib/libc++/src/algorithm.cpp:10: > /usr/src/lib/libc++/../../contrib/libc++/include/iosfwd:176:14: error: > 'mbstate_t' was not declared in this scope > typedef fpos<mbstate_t> streampos; > ^ > /usr/src/lib/libc++/../../contrib/libc++/include/iosfwd:176:23: error: > template argument 1 is invalid > typedef fpos<mbstate_t> streampos; > ^ > /usr/src/lib/libc++/../../contrib/libc++/include/iosfwd:177:14: error: > 'mbstate_t' was not declared in this scope > typedef fpos<mbstate_t> wstreampos; > ^ > /usr/src/lib/libc++/../../contrib/libc++/include/iosfwd:177:23: error: > template argument 1 is invalid > typedef fpos<mbstate_t> wstreampos; > ^ > /usr/src/lib/libc++/../../contrib/libc++/include/iosfwd:179:14: error: > 'mbstate_t' was not declared in this scope > typedef fpos<mbstate_t> u16streampos; > ^ > /usr/src/lib/libc++/../../contrib/libc++/include/iosfwd:179:23: error: > template argument 1 is invalid > typedef fpos<mbstate_t> u16streampos; > ^ > /usr/src/lib/libc++/../../contrib/libc++/include/iosfwd:180:14: error: > 'mbstate_t' was not declared in this scope > typedef fpos<mbstate_t> u32streampos; > ^ > /usr/src/lib/libc++/../../contrib/libc++/include/iosfwd:180:23: error: > template argument 1 is invalid > typedef fpos<mbstate_t> u32streampos; > ^ . . . > --- lib/libc++__L --- > In file included from > /usr/src/lib/libc++/../../contrib/libc++/include/cmath:301:0, > from > /usr/src/lib/libc++/../../contrib/libc++/include/random:1638, > from > /usr/src/lib/libc++/../../contrib/libc++/src/algorithm.cpp:11: > /usr/src/lib/libc++/../../contrib/libc++/include/math.h: In function 'float > abs(float)': > /usr/src/lib/libc++/../../contrib/libc++/include/math.h:646:53: error: > 'fabsf' was not declared in this scope > abs(float __lcpp_x) _NOEXCEPT {return fabsf(__lcpp_x);} > ^ > /usr/src/lib/libc++/../../contrib/libc++/include/math.h: In function 'double > abs(double)': > /usr/src/lib/libc++/../../contrib/libc++/include/math.h:650:53: error: 'fabs' > was not declared in this scope > abs(double __lcpp_x) _NOEXCEPT {return fabs(__lcpp_x);} > ^ . . . > --- lib/libc++__L --- > /usr/src/lib/libc++/../../contrib/libc++/include/math.h: In function 'long > double abs(long double)': > /usr/src/lib/libc++/../../contrib/libc++/include/math.h:654:59: error: > 'fabsl' was not declared in this scope > abs(long double __lcpp_x) _NOEXCEPT {return fabsl(__lcpp_x);} > ^ > /usr/src/lib/libc++/../../contrib/libc++/include/math.h: In function 'float > acos(float)': > /usr/src/lib/libc++/../../contrib/libc++/include/math.h:660:105: error: > 'acosf' was not declared in this scope > inline _LIBCPP_INLINE_VISIBILITY float acos(float __lcpp_x) _NOEXCEPT > {return acosf(__lcpp_x);} > > ^ > /usr/src/lib/libc++/../../contrib/libc++/include/math.h: In function 'long > double acos(long double)': > /usr/src/lib/libc++/../../contrib/libc++/include/math.h:661:105: error: > 'acosl' was not declared in this scope > inline _LIBCPP_INLINE_VISIBILITY long double acos(long double __lcpp_x) > _NOEXCEPT {return acosl(__lcpp_x);} > > ^ > /usr/src/lib/libc++/../../contrib/libc++/include/math.h: In function > 'typename std::__1::enable_if<std::__1::is_integral<_Tp>::value, > double>::type acos(_A1)': > /usr/src/lib/libc++/../../contrib/libc++/include/math.h:667:59: error: call > of overloaded 'acos(double)' is ambiguous > acos(_A1 __lcpp_x) _NOEXCEPT {return acos((double)__lcpp_x);} > ^ > /usr/src/lib/libc++/../../contrib/libc++/include/math.h:660:46: note: > candidate: float acos(float) > inline _LIBCPP_INLINE_VISIBILITY float acos(float __lcpp_x) _NOEXCEPT > {return acosf(__lcpp_x);} > ^ > /usr/src/lib/libc++/../../contrib/libc++/include/math.h:661:46: note: > candidate: long double acos(long double) > inline _LIBCPP_INLINE_VISIBILITY long double acos(long double __lcpp_x) > _NOEXCEPT {return acosl(__lcpp_x);} > ^ > /usr/src/lib/libc++/../../contrib/libc++/include/math.h: In function 'float > asin(float)': > /usr/src/lib/libc++/../../contrib/libc++/include/math.h:672:105: error: > 'asinf' was not declared in this scope > inline _LIBCPP_INLINE_VISIBILITY float asin(float __lcpp_x) _NOEXCEPT > {return asinf(__lcpp_x);} > > ^ > /usr/src/lib/libc++/../../contrib/libc++/include/math.h: In function 'long > double asin(long double)': > /usr/src/lib/libc++/../../contrib/libc++/include/math.h:673:105: error: > 'asinl' was not declared in this scope > inline _LIBCPP_INLINE_VISIBILITY long double asin(long double __lcpp_x) > _NOEXCEPT {return asinl(__lcpp_x);} > > ^ . . . > --- lib/libc++__L --- > /usr/src/lib/libc++/../../contrib/libc++/include/math.h:673:46: note: > candidate: long double asin(long double) > inline _LIBCPP_INLINE_VISIBILITY long double asin(long double __lcpp_x) > _NOEXCEPT {return asinl(__lcpp_x);} > ^ . . . I'll not list it all: There is a lot. Supporting details: An example of the include paths in use (from -v) is: > --- lib/libc++__L --- > #include "..." search starts here: > #include <...> search starts here: > /usr/src/lib/libc++/../../contrib/libc++/include > /usr/src/lib/libc++/../../contrib/libcxxrt > /usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/usr/include/c++/v1 > /usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/usr/include > /usr/local/lib/gcc/powerpc64-portbld-freebsd11.0/5.3.0/include > /usr/local/lib/gcc/powerpc64-portbld-freebsd11.0/5.3.0/include-fixed > End of search list. # more ~/src.configs/make.conf CFLAGS.gcc+= -v # more ~/src.configs/src.conf.powerpc64-xtoolchain.powerpc64-host TO_TYPE=powerpc64 TOOLS_TO_TYPE=${TO_TYPE} FROM_TYPE=powerpc64 TOOLS_FROM_TYPE=${FROM_TYPE} VERSION_CONTEXT=11.0 # KERNCONF=GENERIC64vtsc-NODEBUG TARGET=powerpc .if ${.MAKE.LEVEL} == 0 TARGET_ARCH=${TO_TYPE} .export TARGET_ARCH .endif # WITHOUT_CROSS_COMPILER= WITHOUT_SYSTEM_COMPILER= # WITH_LIBCPLUSPLUS= WITH_BOOT= #WITH_LIB32= WITH_CLANG= WITH_CLANG_IS_CC= WITH_CLANG_FULL= WITH_LLDB= # # powerpc64 LIB32 builds via gcc 4.9 or later variants that I've tried # but the LIB32 does not work [crtbeginS code problem(s)] WITHOUT_LIB32= WITHOUT_GCC= WITHOUT_GNUCXX= # NO_WERROR= MALLOC_PRODUCTION= #CFLAGS+= -DELF_VERBOSE # WITH_DEBUG_FILES= # # # For TO (so-called "cross") stages . . . # So-called-cross via ${TO_TYPE}-xtoolchain-gcc/${TO_TYPE}-gcc. . . # TOOLS_TO_TYPE based on ${TO_TYPE}-xtoolchain-gcc related bintutils. . . # CROSS_TOOLCHAIN=${TO_TYPE}-gcc X_COMPILER_TYPE=gcc CROSS_BINUTILS_PREFIX=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/ .if ${.MAKE.LEVEL} == 0 XCC=/usr/local/bin/${TOOLS_TO_TYPE}-portbld-freebsd${VERSION_CONTEXT}-gcc XCXX=/usr/local/bin/${TOOLS_TO_TYPE}-portbld-freebsd${VERSION_CONTEXT}-g++ XCPP=/usr/local/bin/${TOOLS_TO_TYPE}-portbld-freebsd${VERSION_CONTEXT}-cpp .export XCC .export XCXX .export XCPP XAS=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/as XAR=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/ar XLD=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/ld XNM=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/nm XOBJCOPY=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/objcopy XOBJDUMP=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/objdump XRANLIB=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/ranlib XSIZE=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/size #NO-SUCH: XSTRINGS=/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/strings XSTRINGS=/usr/local/bin/${TOOLS_TO_TYPE}-freebsd-strings .export XAS .export XAR .export XLD .export XNM .export XOBJCOPY .export XOBJDUMP .export XRANLIB .export XSIZE .export XSTRINGS .endif # # # For FROM (host) stages . . . # From gccXY (such as gcc49 but not xtoolchain) # TOOLS_FROM_TYPE's appropriate binutils. . . # .if ${.MAKE.LEVEL} == 0 CC=env C_INCLUDE_PATH=/usr/include /usr/local/bin/gcc49 -L/usr/lib CXX=env C_INCLUDE_PATH=/usr/include CPLUS_INCLUDE_PATH=/usr/include/c++/v1 /usr/local/bin/g++49 -std=c++11 -nostdinc++ -L/usr/lib CPP=/usr/local/bin/cpp49 .export CC .export CXX .export CPP AS=/usr/local/${TOOLS_FROM_TYPE}-portbld-freebsd${VERSION_CONTEXT}/bin/as AR=/usr/local/${TOOLS_FROM_TYPE}-portbld-freebsd${VERSION_CONTEXT}/bin/ar LD=/usr/local/${TOOLS_FROM_TYPE}-portbld-freebsd${VERSION_CONTEXT}/bin/ld NM=/usr/local/${TOOLS_FROM_TYPE}-portbld-freebsd${VERSION_CONTEXT}/bin/nm OBJCOPY=/usr/local/${TOOLS_FROM_TYPE}-portbld-freebsd${VERSION_CONTEXT}/bin/objcopy OBJDUMP=/usr/local/${TOOLS_FROM_TYPE}-portbld-freebsd${VERSION_CONTEXT}/bin/objdump RANLIB=/usr/local/${TOOLS_FROM_TYPE}-portbld-freebsd${VERSION_CONTEXT}/bin/ranlib SIZE=/usr/local/${TOOLS_FROM_TYPE}-portbld-freebsd${VERSION_CONTEXT}/bin/size #NO-SUCH: STRINGS=/usr/local/${TOOLS_FROM_TYPE}-portbld-freebsd${VERSION_CONTEXT}/bin/strings STRINGS=/usr/local/bin/strings .export AS .export AR .export LD .export NM .export OBJCOPY .export OBJDUMP .export RANLIB .export SIZE .export STRINGS .endif # svnlite info /usr/src/ Path: /usr/src Working Copy Root Path: /usr/src URL: https://svn0.us-west.freebsd.org/base/head Relative URL: ^/head Repository Root: https://svn0.us-west.freebsd.org/base Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f Revision: 300777 Node Kind: directory Schedule: normal Last Changed Author: manu Last Changed Rev: 300777 Last Changed Date: 2016-05-26 14:09:07 -0700 (Thu, 26 May 2016) === Mark Millard markmi at dsl-only.net _______________________________________________ freebsd-ports@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"