11.0-CURRENT -r300770 libc++ update vs. lang/powerpc64-xtoolchain-gcc: no go [self hosted powerpc64 context]

Mark Millard markmi at dsl-only.net
Fri May 27 23:40:35 UTC 2016


[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/common/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/../../../../powerpc64-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/common/sys
>  /usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/common/fs/zfs
>  /usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/common/zfs
>  /usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/common
>  /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=/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/common/sys -I/usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/common/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/common -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=1   -DNEED_SOLARIS_BOOLEAN -MD  -MF.depend.arc.o -MTarc.o -std=iso9899:1999 -fstack-protector-strong -Wno-pointer-sign -Wno-error=unused-function -Wno-error=enum-compare -Wno-error=logical-not-parentheses -Wno-error=bool-compare -Wno-error=uninitialized -Wno-error=array-bounds -Wno-error=clobbered -Wno-error=cast-align -Wno-error=extra -Wno-error=attributes -Wno-error=inline -Wno-error=unused-but-set-variable -Wno-error=unused-value -Wno-error=strict-aliasing -Wno-error=address -Wno-unknown-pragmas   -v  -c /usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/common/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/common/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/common/sys -I/usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/common/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/common -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=1   -DNEED_SOLARIS_BOOLEAN -MD  -MF.depend.arc.o -MTarc.o -std=iso9899: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/common/fs/zfs/arc.c -o arc.o



===
Mark Millard
markmi at dsl-only.net

On 2016-May-27, at 2:56 PM, Mark Millard <markmi at dsl-only.net> wrote:

> On 2016-May-27, at 1:50 PM, Dimitry Andric <dim at FreeBSD.org> wrote:
>> 
>> On 27 May 2016, at 01:53, Mark Millard <markmi at dsl-only.net> wrote:
>>> 
>>> 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 at 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;
>>>>            ^
>> 
>> This is hopefully fixed by r300873 now.  Can you please verify?
>> 
>> -Dimitry
> 
> 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.
> 
> 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.)
> 
> ===
> Mark Millard
> markmi at dsl-only.net
> 
> 


More information about the freebsd-toolchain mailing list