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