Date: Fri, 27 May 2016 16:40:26 -0700 From: Mark Millard <markmi@dsl-only.net> To: Dimitry Andric <dim@FreeBSD.org> Cc: FreeBSD Toolchain <freebsd-toolchain@freebsd.org>, FreeBSD PowerPC ML <freebsd-ppc@freebsd.org>, freebsd-ports@freebsd.org Subject: Re: 11.0-CURRENT -r300770 libc++ update vs. lang/powerpc64-xtoolchain-gcc: no go [self hosted powerpc64 context] Message-ID: <42773110-C392-4168-9B94-6902807DB530@dsl-only.net> In-Reply-To: <C5678741-F12B-4234-A194-AC2F0B0CDAB4@dsl-only.net> References: <95E2A9D6-8E1A-46FB-84FF-60927A6F1CE4@dsl-only.net> <8FAD594D-4349-4EA7-A712-D3792537FB1D@FreeBSD.org> <C5678741-F12B-4234-A194-AC2F0B0CDAB4@dsl-only.net>
next in thread | previous in thread | raw e-mail | index | archive | help
[I'm top posting the results of the failed build.] It looks like the following has been addresses in -r300884. libcompat = also got a -isystem in -r300885. -r300886 did "Move external GCC = compiler hacks to bsd.sys.mk". So I'll retry based on -r300886. Failure details. . . Both the powerpc64 lang/powerpc64-xtoolchain-gcc and powerpc clang = combinations failed for -r300875. The details are rather different this = time and might not be related to your libc++ changes. Both contexts got = the same error. powerpc64 lang/powerpc64-xtoolchain-gcc: > --- all_subdir_cddl/lib/libzpool --- > In file included from = /usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/commo= n/fs/zfs/arc.c:144:0: > /usr/src/sys/vm/vm_pageout.h:77:8: error: unknown type name 'bool' > extern bool vm_pageout_wanted; > ^ > /usr/src/sys/vm/vm_pageout.h:78:8: error: unknown type name 'bool' > extern bool vm_pages_needed; > ^ The -v search list information was: > ignoring nonexistent directory = "/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/usr/local/include" > ignoring nonexistent directory = "/usr/local/lib/gcc/powerpc64-portbld-freebsd11.0/5.3.0/../../../../powerp= c64-portbld-freebsd11.0/include" > ignoring duplicate directory = "/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/usr/include" > ignoring nonexistent directory = "/usr/src/cddl/lib/libzpool/../../../lib/libpthread/thread" > ignoring nonexistent directory = "/usr/src/cddl/lib/libzpool/../../../lib/libpthread/sys" > #include "..." search starts here: > #include <...> search starts here: > /usr/src/cddl/lib/libzpool/../../../sys/cddl/compat/opensolaris > /usr/src/cddl/lib/libzpool/../../compat/opensolaris/include > /usr/src/cddl/lib/libzpool/../../compat/opensolaris/lib/libumem > = /usr/src/cddl/lib/libzpool/../../contrib/opensolaris/lib/libzpool/common > = /usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/commo= n/sys > = /usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/commo= n/fs/zfs > = /usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/common/zf= s > = /usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/commo= n > /usr/src/cddl/lib/libzpool/../../contrib/opensolaris/head > /usr/src/cddl/lib/libzpool/../../lib/libumem > /usr/src/cddl/lib/libzpool/../../contrib/opensolaris/lib/libnvpair > /usr/src/cddl/lib/libzpool/../../../lib/libthr/arch/powerpc/include > /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. This was for: > /usr/local/bin/powerpc64-portbld-freebsd11.0-gcc -isystem = /usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/usr/include = -L/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp/usr/lib = --sysroot=3D/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/tmp = -B/usr/local/powerpc64-freebsd/bin/ -O2 -pipe = -I/usr/src/cddl/lib/libzpool/../../../sys/cddl/compat/opensolaris = -I/usr/src/cddl/lib/libzpool/../../compat/opensolaris/include = -I/usr/src/cddl/lib/libzpool/../../compat/opensolaris/lib/libumem = -I/usr/src/cddl/lib/libzpool/../../contrib/opensolaris/lib/libzpool/common= = -I/usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/com= mon/sys = -I/usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/com= mon/fs/zfs = -I/usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/common/= zfs = -I/usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/com= mon -I/usr/src/cddl/lib/libzpool/../../contrib/opensolaris/head = -I/usr/src/cddl/lib/libzpool/../../lib/libumem = -I/usr/src/cddl/lib/libzpool/../../contrib/opensolaris/lib/libnvpair = -DWANTS_MUTEX_OWNED = -I/usr/src/cddl/lib/libzpool/../../../lib/libpthread/thread = -I/usr/src/cddl/lib/libzpool/../../../lib/libpthread/sys = -I/usr/src/cddl/lib/libzpool/../../../lib/libthr/arch/powerpc/include -g = -DDEBUG=3D1 -DNEED_SOLARIS_BOOLEAN -MD -MF.depend.arc.o -MTarc.o = -std=3Diso9899:1999 -fstack-protector-strong -Wno-pointer-sign = -Wno-error=3Dunused-function -Wno-error=3Denum-compare = -Wno-error=3Dlogical-not-parentheses -Wno-error=3Dbool-compare = -Wno-error=3Duninitialized -Wno-error=3Darray-bounds = -Wno-error=3Dclobbered -Wno-error=3Dcast-align -Wno-error=3Dextra = -Wno-error=3Dattributes -Wno-error=3Dinline = -Wno-error=3Dunused-but-set-variable -Wno-error=3Dunused-value = -Wno-error=3Dstrict-aliasing -Wno-error=3Daddress -Wno-unknown-pragmas = -v -c = /usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/commo= n/fs/zfs/arc.c -o arc.o powerpc sytem clang: > --- all_subdir_cddl/lib/libzpool --- > In file included from = /usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/commo= n/fs/zfs/arc.c:144: > = /usr/obj/clang/powerpc.powerpc/usr/src/tmp/usr/include/vm/vm_pageout.h:77:= 8: error: unknown type name 'bool' > extern bool vm_pageout_wanted; > ^ > = /usr/obj/clang/powerpc.powerpc/usr/src/tmp/usr/include/vm/vm_pageout.h:78:= 8: error: unknown type name 'bool' > extern bool vm_pages_needed; > ^ This was for: > --- arc.o --- > cc -O2 -pipe = -I/usr/src/cddl/lib/libzpool/../../../sys/cddl/compat/opensolaris = -I/usr/src/cddl/lib/libzpool/../../compat/opensolaris/include = -I/usr/src/cddl/lib/libzpool/../../compat/opensolaris/lib/libumem = -I/usr/src/cddl/lib/libzpool/../../contrib/opensolaris/lib/libzpool/common= = -I/usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/com= mon/sys = -I/usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/com= mon/fs/zfs = -I/usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/common/= zfs = -I/usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/com= mon -I/usr/src/cddl/lib/libzpool/../../contrib/opensolaris/head = -I/usr/src/cddl/lib/libzpool/../../lib/libumem = -I/usr/src/cddl/lib/libzpool/../../contrib/opensolaris/lib/libnvpair = -DWANTS_MUTEX_OWNED = -I/usr/src/cddl/lib/libzpool/../../../lib/libpthread/thread = -I/usr/src/cddl/lib/libzpool/../../../lib/libpthread/sys = -I/usr/src/cddl/lib/libzpool/../../../lib/libthr/arch/powerpc/include -g = -DDEBUG=3D1 -DNEED_SOLARIS_BOOLEAN -MD -MF.depend.arc.o -MTarc.o = -std=3Diso9899:1999 -fstack-protector-strong -Wno-pointer-sign = -Wno-unknown-pragmas -Wno-empty-body -Wno-string-plus-int = -Wno-unused-const-variable -Wno-tautological-compare -Wno-unused-value = -Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion = -Wno-unused-local-typedef -Wno-switch -Wno-switch-enum = -Wno-knr-promoted-parameter -Wno-parentheses -Qunused-arguments -c = /usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/commo= n/fs/zfs/arc.c -o arc.o =3D=3D=3D Mark Millard markmi@dsl-only.net On 2016-May-27, at 2:56 PM, Mark Millard <markmi@dsl-only.net> wrote: > On 2016-May-27, at 1:50 PM, Dimitry Andric <dim at FreeBSD.org> wrote: >>=20 >> On 27 May 2016, at 01:53, Mark Millard <markmi at dsl-only.net> = wrote: >>>=20 >>> 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.] >>>=20 >>> 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. >>>=20 >>> Trying to go from: >>>=20 >>>> # 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 >>>=20 >>> (for which -r300531 built and installed fine this way) to -r300777 = now fails with errors such as: >>>=20 >>>> --- 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; >>>> ^ >>=20 >> This is hopefully fixed by r300873 now. Can you please verify? >>=20 >> -Dimitry >=20 > buildworld/buildkernel started, based on -r300875 for powerpc64 = under/on powerpc64 FreeBSD via lang/powerpc-xtoolchain-gcc as the = so-called "cross compiler". If it completes successfully it takes about = 8 hours for what I normally include in such builds. >=20 > I've also started a clang-based buildworld for powerpc (non-64) under = powerpc FreeBSD as a cross check. (This environment involves work = arounds, such as changes to signal delivery to avoid clang's code = generation ABI violations in its stack handling. A clang based = buildkernel would not complete so I would use a separate gcc 4.2.1 = kernel build to get an overall system.) >=20 > =3D=3D=3D > Mark Millard > markmi at dsl-only.net >=20 >=20
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?42773110-C392-4168-9B94-6902807DB530>