build of 2021/03/07 -current fails because of pthread_types.h (without MKLLVM!)
"Greg A. Woods" <[email protected]>
| Newsgroups | gmane.os.netbsd.current,gmane.os.netbsd.devel.toolchain |
|---|---|
| Organization | Planix, Inc. |
| Message-ID | <[email protected]> |
At Wed, 17 Jun 2020 21:04:23 +0200, Thomas Klausner <[email protected]> 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/li bcxxrt/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 <[email protected]> Kelowna, BC +1 250 762-7675 RoboHack <[email protected]> Planix, Inc. <[email protected]> Avoncote Farms <[email protected]>
signature.asc
(application/pgp-signature, 195 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (NetBSD) iEYEABECAAYFAmBGfGAACgkQZn1xt3i/9H9s1gCfU1Nobacxe9A+B5XJuF3sIZR9 RJ4AoOSwaXSOj8tY3yamBnMujkiTQ2+f =xMWM -----END PGP SIGNATURE-----