tech-toolchain archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

build of 2021/03/07 -current fails because of pthread_types.h (without MKLLVM!)



At Wed, 17 Jun 2020 21:04:23 +0200, Thomas Klausner <tk%giga.or.at@localhost> wrote:
Subject: MKLLVM build of -current fails because of pthread_types.h
>
> My command line
>
> build.sh -j 32 -x -V MKDEBUG=yes -V MKDEBUGLIB=yes -V MKLLVM=yes -V NOGCCERROR=yes -m amd64 distribution
>
> fails with:
>
> --- shared_mutex.o ---
> In file included from /usr/src/external/bsd/libc++/dist/libcxx/include/shared_mutex:130,
>                  from /usr/src/external/bsd/libc++/lib/../dist/libcxx/src/shared_mutex.cpp:14:
> /usr/src/external/bsd/libc++/dist/libcxx/include/__mutex_base: In constructor 'constexpr std::__1::condition_variable::condition_variable()':
> /usr/src/external/bsd/libc++/dist/libcxx/include/__mutex_base:273:71: error: temporary of non-literal type '__pthread_cond_st' in a constant expression
>      constexpr condition_variable() : __cv_(PTHREAD_COND_INITIALIZER) {}
>                                                                        ^
> In file included from /usr/obj/amd64.gcc.20200617/usr/include/sys/types.h:359,
>                  from /usr/obj/amd64.gcc.20200617/usr/include/sys/endian.h:55,
>                  from /usr/src/external/bsd/libc++/dist/libcxx/include/__config:82,
>                  from /usr/src/external/bsd/libc++/lib/../dist/libcxx/src/shared_mutex.cpp:10:
> /usr/obj/amd64.gcc.20200617/usr/include/pthread_types.h:170:8: note: '__pthread_cond_st' is not literal because:
>  struct __pthread_cond_st {
>         ^~~~~~~~~~~~~~~~~
> /usr/obj/amd64.gcc.20200617/usr/include/pthread_types.h:175:17: note:   non-static data member '__pthread_cond_st::ptc_waiters' has volatile type
>   void *volatile ptc_waiters;
>                  ^~~~~~~~~~~
>
> Please fix :)

I have a similar (identical?) failure from sources updated yesterday,
however I have MKLLVM=no (and MKLLVMRT=no).

But as Thomas did, I also have MKDEBUG=yes and MKDEBUGLIB=yes.

The build host is running amd64 9.99.64 (dated from about 2020/06/09).

What's totally odd though is that there's no change whatsoever in
external/bsd/libc++/ between the source tree the build host was
successfully self-built with, and the sources from yesterday.

So, I'm guessing this must be due to the change in the toolchain between
last June and now.  Interestingly right after the message I'm replying
to was another from Thomas titled "new gcc8/gcc10 build breakage between
9.99.63 and 9.99.67".

Luckily I've saved both the old source tree and the old build directories.


$ /build/woods/b2/current-amd64-amd64-tools/bin/x86_64--netbsd-c++ --version
x86_64--netbsd-c++ (NetBSD nb1 20200907) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ /build/woods/b2-last/current-amd64-amd64-tools/bin/x86_64--netbsd-c++ --version
x86_64--netbsd-c++ (NetBSD nb1 20200311) 8.4.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.



    compile  lib/algorithm.o
In file included from /work/woods/m-NetBSD-current-new/external/bsd/libc++/dist/libcxx/include/algorithm:623,
                 from /work/woods/m-NetBSD-current-new/external/bsd/libc++/lib/../dist/libcxx/src/algorithm.cpp:10:
/work/woods/m-NetBSD-current-new/external/bsd/libc++/dist/libcxx/include/__config:495:11: note: you may use an inline namespace instead
  495 | namespace _LIBCPP_NAMESPACE {
      |           ^~~~~~~~~~~~~~~~~
In file included from /work/woods/m-NetBSD-current-new/external/bsd/libc++/dist/libcxx/include/mutex:176,
                 from /work/woods/m-NetBSD-current-new/external/bsd/libc++/dist/libcxx/include/__locale:18,
                 from /work/woods/m-NetBSD-current-new/external/bsd/libc++/dist/libcxx/include/ios:216,
                 from /work/woods/m-NetBSD-current-new/external/bsd/libc++/dist/libcxx/include/ostream:138,
                 from /work/woods/m-NetBSD-current-new/external/bsd/libc++/dist/libcxx/include/istream:163,
                 from /work/woods/m-NetBSD-current-new/external/bsd/libc++/dist/libcxx/include/random:1646,
                 from /work/woods/m-NetBSD-current-new/external/bsd/libc++/lib/../dist/libcxx/src/algorithm.cpp:11:
/work/woods/m-NetBSD-current-new/external/bsd/libc++/dist/libcxx/include/__mutex_base: In constructor 'constexpr std::__1::condition_variable::condition_variable()':
/work/woods/m-NetBSD-current-new/external/bsd/libc++/dist/libcxx/include/__mutex_base:273:71: error: temporary of non-literal type '__pthread_cond_st' in a constant expression
  273 |     constexpr condition_variable() : __cv_(PTHREAD_COND_INITIALIZER) {}
      |                                                                       ^
In file included from /build/woods/b2/current-amd64-destdir/usr/include/sys/types.h:359,
                 from /build/woods/b2/current-amd64-destdir/usr/include/sys/endian.h:55,
                 from /work/woods/m-NetBSD-current-new/external/bsd/libc++/dist/libcxx/include/__config:82,
                 from /work/woods/m-NetBSD-current-new/external/bsd/libc++/dist/libcxx/include/algorithm:623,
                 from /work/woods/m-NetBSD-current-new/external/bsd/libc++/lib/../dist/libcxx/src/algorithm.cpp:10:
/build/woods/b2/current-amd64-destdir/usr/include/pthread_types.h:170:8: note: '__pthread_cond_st' is not literal because:
  170 | struct __pthread_cond_st {
      |        ^~~~~~~~~~~~~~~~~
/build/woods/b2/current-amd64-destdir/usr/include/pthread_types.h:175:17: note:   non-static data member '__pthread_cond_st::ptc_waiters' has volatile type
  175 |  void *volatile ptc_waiters;
      |                 ^~~~~~~~~~~

*** Failed target:  algorithm.o
*** Failed command: /build/woods/b2/current-amd64-amd64-tools/bin/x86_64--netbsd-c++ -frandom-seed=a0ced134 -O2 -g -Wall -Wpointer-arith -Wno-sign-compare -Wa,--fatal-warnings -Wreturn-type -Wswitch -Wshadow -Wcast-qual -Wwrite-strings -Wextra -Wno-unused-parameter -Wno-sign-compare -Wsign-compare -Wformat=2 -Werror -Wno-error -pipe -fstack-protector -Wstack-protector --param ssp-buffer-size=1 -std=c++11 -Wold-style-cast -Wctor-dtor-privacy -Wnon-virtual-dtor -Wreorder -Wno-deprecated -Woverloaded-virtual -Wsign-promo -Wsynth -Wno-non-template-friend -Wno-pmf-conversions --sysroot=/build/woods/b2/current-amd64-destdir -nostdinc++ -cxx-isystem /work/woods/m-NetBSD-current-new/external/bsd/libc++/lib/../dist/libcxx/include -I/work/woods/m-NetBSD-current-new/external/bsd/libc++/lib/../dist/libcxxrt/src -DLIBCXXRT -D_FORTIFY_SOURCE=2 -c /work/woods/m-NetBSD-current-new/external/bsd/libc++/lib/../dist/libcxx/src/algorithm.cpp -o algorithm.o
*** Error code 1

Stop.
nbmake[1]: stopped in /work/woods/m-NetBSD-current-new/external/bsd/libc++/lib

*** Failed target:  dependall
*** Failed command: cd "/work/woods/m-NetBSD-current-new/external/bsd/libc++/lib"; /build/woods/b2/current-amd64-amd64-tools/bin/nbmake realall
*** Error code 1

Stop.
nbmake: stopped in /work/woods/m-NetBSD-current-new/external/bsd/libc++/lib


11:32 [102] $ mynbmake -v MKDEBUG
yes
11:32 [103] $ mynbmake -v MKDEBUGLIB
yes
11:32 [104] $ mynbmake -v MKLLVM
no
11:32 [105] $ mynbmake -v MKLLVMRT
no

--
					Greg A. Woods <gwoods%acm.org@localhost>

Kelowna, BC     +1 250 762-7675           RoboHack <woods%robohack.ca@localhost>
Planix, Inc. <woods%planix.com@localhost>     Avoncote Farms <woods%avoncote.ca@localhost>

Attachment: pgpxh7cHL_tM9.pgp
Description: OpenPGP Digital Signature



Home | Main Index | Thread Index | Old Index