Date: Thu, 26 May 2016 16:53:07 -0700 From: Mark Millard <markmi@dsl-only.net> To: FreeBSD Toolchain <freebsd-toolchain@freebsd.org>, FreeBSD PowerPC ML <freebsd-ppc@freebsd.org>, dim@FreeBSD.org Cc: freebsd-ports@freebsd.org Subject: 11.0-CURRENT -r300770 libc++ update vs. lang/powerpc64-xtoolchain-gcc: no go [self hosted powerpc64 context] Message-ID: <95E2A9D6-8E1A-46FB-84FF-60927A6F1CE4@dsl-only.net>
next in thread | raw e-mail | index | archive | help
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/GENERIC64v= tsc-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=20 CFLAGS.gcc+=3D -v # more ~/src.configs/src.conf.powerpc64-xtoolchain.powerpc64-host=20 TO_TYPE=3Dpowerpc64 TOOLS_TO_TYPE=3D${TO_TYPE} FROM_TYPE=3Dpowerpc64 TOOLS_FROM_TYPE=3D${FROM_TYPE} VERSION_CONTEXT=3D11.0 # KERNCONF=3DGENERIC64vtsc-NODEBUG TARGET=3Dpowerpc .if ${.MAKE.LEVEL} =3D=3D 0 TARGET_ARCH=3D${TO_TYPE} .export TARGET_ARCH .endif # WITHOUT_CROSS_COMPILER=3D WITHOUT_SYSTEM_COMPILER=3D # WITH_LIBCPLUSPLUS=3D WITH_BOOT=3D #WITH_LIB32=3D WITH_CLANG=3D WITH_CLANG_IS_CC=3D WITH_CLANG_FULL=3D WITH_LLDB=3D # # 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=3D WITHOUT_GCC=3D WITHOUT_GNUCXX=3D # NO_WERROR=3D MALLOC_PRODUCTION=3D #CFLAGS+=3D -DELF_VERBOSE # WITH_DEBUG_FILES=3D # # # 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=3D${TO_TYPE}-gcc X_COMPILER_TYPE=3Dgcc CROSS_BINUTILS_PREFIX=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/ .if ${.MAKE.LEVEL} =3D=3D 0 = XCC=3D/usr/local/bin/${TOOLS_TO_TYPE}-portbld-freebsd${VERSION_CONTEXT}-gc= c = XCXX=3D/usr/local/bin/${TOOLS_TO_TYPE}-portbld-freebsd${VERSION_CONTEXT}-g= ++ = XCPP=3D/usr/local/bin/${TOOLS_TO_TYPE}-portbld-freebsd${VERSION_CONTEXT}-c= pp .export XCC .export XCXX .export XCPP XAS=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/as XAR=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/ar XLD=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/ld XNM=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/nm XOBJCOPY=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/objcopy XOBJDUMP=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/objdump XRANLIB=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/ranlib XSIZE=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/size #NO-SUCH: XSTRINGS=3D/usr/local/${TOOLS_TO_TYPE}-freebsd/bin/strings XSTRINGS=3D/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 . . . # =46rom gccXY (such as gcc49 but not xtoolchain) # TOOLS_FROM_TYPE's appropriate binutils. . . # .if ${.MAKE.LEVEL} =3D=3D 0 CC=3Denv C_INCLUDE_PATH=3D/usr/include /usr/local/bin/gcc49 -L/usr/lib CXX=3Denv C_INCLUDE_PATH=3D/usr/include = CPLUS_INCLUDE_PATH=3D/usr/include/c++/v1 /usr/local/bin/g++49 -std=3Dc++11= -nostdinc++ -L/usr/lib CPP=3D/usr/local/bin/cpp49 .export CC .export CXX .export CPP = AS=3D/usr/local/${TOOLS_FROM_TYPE}-portbld-freebsd${VERSION_CONTEXT}/bin/a= s = AR=3D/usr/local/${TOOLS_FROM_TYPE}-portbld-freebsd${VERSION_CONTEXT}/bin/a= r = LD=3D/usr/local/${TOOLS_FROM_TYPE}-portbld-freebsd${VERSION_CONTEXT}/bin/l= d = NM=3D/usr/local/${TOOLS_FROM_TYPE}-portbld-freebsd${VERSION_CONTEXT}/bin/n= m = OBJCOPY=3D/usr/local/${TOOLS_FROM_TYPE}-portbld-freebsd${VERSION_CONTEXT}/= bin/objcopy = OBJDUMP=3D/usr/local/${TOOLS_FROM_TYPE}-portbld-freebsd${VERSION_CONTEXT}/= bin/objdump = RANLIB=3D/usr/local/${TOOLS_FROM_TYPE}-portbld-freebsd${VERSION_CONTEXT}/b= in/ranlib = SIZE=3D/usr/local/${TOOLS_FROM_TYPE}-portbld-freebsd${VERSION_CONTEXT}/bin= /size #NO-SUCH: = STRINGS=3D/usr/local/${TOOLS_FROM_TYPE}-portbld-freebsd${VERSION_CONTEXT}/= bin/strings STRINGS=3D/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) =3D=3D=3D Mark Millard markmi at dsl-only.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?95E2A9D6-8E1A-46FB-84FF-60927A6F1CE4>