Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 May 2026 08:09:40 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 294900] Errors during buildworld: C++20 extension
Message-ID:  <bug-294900-227-D6HyqFYMZa@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-294900-227@https.bugs.freebsd.org/bugzilla/>

index | next in thread | previous in thread | raw e-mail

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=294900

--- Comment #3 from Thierry Thomas <thierry@FreeBSD.org> ---
Trying again today (May 14 2026, 0ed292531e0457f271b838dd9dc99a86534d3a99)
after `git pull' produces the same error:

--- bsm_flags.pico ---
/usr/local/bin/ccache cc -target x86_64-unknown-freebsd16.0
--sysroot=/usr/obj/usr/src/amd64.amd64/tmp
-B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin -fpic -DPIC   -O2 -pipe -fno-common
-I/usr/src/contrib/openbsm -I/usr/src/contrib/openbsm/libbsm   -g -gz=zlib -MD 
-MF.depend.bsm_flags.pico -MTbsm_flags.pico -std=gnu17 -Wno-format-zero-length
-nobuiltininc -idirafter /usr/lib/clang/19/include -fstack-protector-strong
-Wsystem-headers -Werror -Wno-pointer-sign -Wdate-time -Wno-empty-body
-Wno-string-plus-int -Wno-unused-const-variable
-Wno-error=unused-but-set-parameter -Wno-error=cast-function-type-mismatch
-Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality
-Wno-unused-function -Wno-enum-conversion -Wno-unused-local-typedef
-Wno-address-of-packed-member -Wno-switch -Wno-switch-enum
-Wno-knr-promoted-parameter -Wno-parentheses  -Qunused-arguments      -c
/usr/src/contrib/openbsm/libbsm/bsm_flags.c -o bsm_flags.pico

--- bsm_io.pico ---
/usr/local/bin/ccache cc -target x86_64-unknown-freebsd16.0
--sysroot=/usr/obj/usr/src/amd64.amd64/tmp
-B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin -fpic -DPIC   -O2 -pipe -fno-common
-I/usr/src/contrib/openbsm -I/usr/src/contrib/openbsm/libbsm   -g -gz=zlib -MD 
-MF.depend.bsm_io.pico -MTbsm_io.pico -std=gnu17 -Wno-format-zero-length
-nobuiltininc -idirafter /usr/lib/clang/19/include -fstack-protector-strong
-Wsystem-headers -Werror -Wno-pointer-sign -Wdate-time -Wno-empty-body
-Wno-string-plus-int -Wno-unused-const-variable
-Wno-error=unused-but-set-parameter -Wno-error=cast-function-type-mismatch
-Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality
-Wno-unused-function -Wno-enum-conversion -Wno-unused-local-typedef
-Wno-address-of-packed-member -Wno-switch -Wno-switch-enum
-Wno-knr-promoted-parameter -Wno-parentheses  -Qunused-arguments      -c
/usr/src/contrib/openbsm/libbsm/bsm_io.c -o bsm_io.pico
--- all_subdir_lib/libdevdctl ---
--- consumer.o ---
In file included from /usr/src/lib/libdevdctl/consumer.cc:50:
In file included from
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/list:205:
In file included from
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/__algorithm/lexicographical_compare.h:14:
In file included from
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/__algorithm/mismatch.h:15:
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/__algorithm/simd_utils.h:96:50:
error: explicit template parameter list for lambdas is a C++20 extension
[-Werror,-Wc++20-extensions]
   96 | inline constexpr size_t __simd_vector_size_v = []<bool _False =
false>() -> size_t {
      |                                                  ^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/__algorithm/simd_utils.h:114:13:
error: explicit template parameter list for lambdas is a C++20 extension
[-Werror,-Wc++20-extensions]
  114 |   return [=]<size_t... _Indices>(index_sequence<_Indices...>)
_LIBCPP_ALWAYS_INLINE noexcept {
      |             ^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/__algorithm/simd_utils.h:129:20:
error: explicit template parameter list for lambdas is a C++20 extension
[-Werror,-Wc++20-extensions]
  129 |   auto __impl = [&]<class _MaskT>(_MaskT) _LIBCPP_NO_SANITIZE("memory")
noexcept {
      |                    ^
In file included from /usr/src/lib/libdevdctl/consumer.cc:50:
In file included from
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/list:205:
In file included from
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/__algorithm/lexicographical_compare.h:14:
In file included from
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/__algorithm/mismatch.h:29:
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/__utility/pair.h:140:11:
error: explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  140 |   explicit(!_CheckArgsDep::__enable_implicit_default())
_LIBCPP_HIDE_FROM_ABI constexpr pair() noexcept(
      |           ^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/__utility/pair.h:147:41:
error: explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  147 |   _LIBCPP_CONSTEXPR_SINCE_CXX14 explicit(!_CheckArgsDep::template
__is_implicit<_T1 const&, _T2 const&>())
      |                                         ^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/__utility/pair.h:162:41:
error: explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  162 |   _LIBCPP_CONSTEXPR_SINCE_CXX14
explicit(!__check_pair_construction<_T1, _T2>::template __is_implicit<_U1,
_U2>())
      |                                         ^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/__utility/pair.h:183:63:
error: explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  183 |   _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 explicit(
      |                                                               ^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/__utility/pair.h:193:41:
error: explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  193 |   _LIBCPP_CONSTEXPR_SINCE_CXX14
explicit(!__check_pair_construction<_T1, _T2>::template __is_implicit<_U1,
_U2>())
      |                                         ^
In file included from /usr/src/lib/libdevdctl/consumer.cc:50:
In file included from
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/list:225:
In file included from
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/__memory_resource/polymorphic_allocator.h:22:
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/tuple:560:43: error:
explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  560 |   _LIBCPP_HIDE_FROM_ABI constexpr explicit(_Not<_Lazy<_And,
_IsImpDefault<_Tp>...> >::value)
      |                                           ^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/tuple:567:63: error:
explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  567 |   _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20
explicit(_Not<_Lazy<_And, _IsImpDefault<_Tp>...> >::value)
      |                                                               ^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/tuple:580:41: error:
explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  580 |   _LIBCPP_CONSTEXPR_SINCE_CXX14 explicit(_Not<_Lazy<_And,
is_convertible<const _Tp&, _Tp>...> >::value)
      |                                         ^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/tuple:592:41: error:
explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  592 |   _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit(_Not<_Lazy<_And,
is_convertible<const _Tp&, _Tp>...> >::value)
      |                                         ^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/tuple:617:63: error:
explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  617 |   _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14
explicit(_Not<_Lazy<_And, is_convertible<_Up, _Tp>...> >::value)
      |                                                               ^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/tuple:629:63: error:
explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  629 |   _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20
explicit(_Not<_Lazy<_And, is_convertible<_Up, _Tp>...> >::value)
      |                                                               ^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/tuple:684:41: error:
explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  684 |   _LIBCPP_CONSTEXPR_SINCE_CXX14 explicit(_Not<_Lazy<_And,
is_convertible<const _Up&, _Tp>...> >::value)
      |                                         ^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/tuple:692:41: error:
explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  692 |   _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit(_Not<_Lazy<_And,
is_convertible<const _Up&, _Tp>...> >::value)
      |                                         ^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/tuple:711:63: error:
explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  711 |   _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14
explicit(_Not<_Lazy<_And, is_convertible<_Up, _Tp>...> >::value)
      |                                                               ^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/tuple:718:63: error:
explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  718 |   _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20
explicit(_Not<_Lazy<_And, is_convertible<_Up, _Tp>...> >::value)
      |                                                               ^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/tuple:768:41: error:
explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  768 |   _LIBCPP_CONSTEXPR_SINCE_CXX14
explicit(_Not<_BothImplicitlyConvertible<const pair<_Up1, _Up2>&> >::value)
      |                                         ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
*** [consumer.o] Error code 1

make[5]: stopped making "all" in /usr/src/lib/libdevdctl
--- event.o ---
In file included from /usr/src/lib/libdevdctl/event.cc:55:
In file included from
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/iostream:45:
In file included from
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/ios:228:
In file included from
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/__locale:20:
In file included from
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/__mutex/once_flag.h:22:
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/tuple:560:43: error:
explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  560 |   _LIBCPP_HIDE_FROM_ABI constexpr explicit(_Not<_Lazy<_And,
_IsImpDefault<_Tp>...> >::value)
      |                                           ^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/tuple:567:63: error:
explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  567 |   _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20
explicit(_Not<_Lazy<_And, _IsImpDefault<_Tp>...> >::value)
      |                                                               ^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/tuple:580:41: error:
explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  580 |   _LIBCPP_CONSTEXPR_SINCE_CXX14 explicit(_Not<_Lazy<_And,
is_convertible<const _Tp&, _Tp>...> >::value)
      |                                         ^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/tuple:592:41: error:
explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  592 |   _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit(_Not<_Lazy<_And,
is_convertible<const _Tp&, _Tp>...> >::value)
      |                                         ^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/tuple:617:63: error:
explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  617 |   _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14
explicit(_Not<_Lazy<_And, is_convertible<_Up, _Tp>...> >::value)
      |                                                               ^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/tuple:629:63: error:
explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  629 |   _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20
explicit(_Not<_Lazy<_And, is_convertible<_Up, _Tp>...> >::value)
      |                                                               ^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/tuple:684:41: error:
explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  684 |   _LIBCPP_CONSTEXPR_SINCE_CXX14 explicit(_Not<_Lazy<_And,
is_convertible<const _Up&, _Tp>...> >::value)
      |                                         ^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/tuple:692:41: error:
explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  692 |   _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit(_Not<_Lazy<_And,
is_convertible<const _Up&, _Tp>...> >::value)
      |                                         ^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/tuple:711:63: error:
explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  711 |   _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14
explicit(_Not<_Lazy<_And, is_convertible<_Up, _Tp>...> >::value)
      |                                                               ^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/tuple:718:63: error:
explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  718 |   _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20
explicit(_Not<_Lazy<_And, is_convertible<_Up, _Tp>...> >::value)
      |                                                               ^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/tuple:768:41: error:
explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  768 |   _LIBCPP_CONSTEXPR_SINCE_CXX14
explicit(_Not<_BothImplicitlyConvertible<const pair<_Up1, _Up2>&> >::value)
      |                                         ^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/tuple:778:41: error:
explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  778 |   _LIBCPP_CONSTEXPR_SINCE_CXX20
explicit(_Not<_BothImplicitlyConvertible<const pair<_Up1, _Up2>&> >::value)
      |                                         ^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/tuple:806:41: error:
explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  806 |   _LIBCPP_CONSTEXPR_SINCE_CXX14
explicit(_Not<_BothImplicitlyConvertible<pair<_Up1, _Up2>&&> >::value)
      |                                         ^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/tuple:816:41: error:
explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  816 |   _LIBCPP_CONSTEXPR_SINCE_CXX20
explicit(_Not<_BothImplicitlyConvertible<pair<_Up1, _Up2>&&> >::value)
      |                                         ^
In file included from /usr/src/lib/libdevdctl/event.cc:55:
In file included from
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/iostream:45:
In file included from
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/ios:228:
In file included from
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/__locale:20:
In file included from
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/__mutex/once_flag.h:22:
In file included from
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/tuple:1443:
In file included from
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/utility:257:
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/__utility/pair.h:140:11:
error: explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  140 |   explicit(!_CheckArgsDep::__enable_implicit_default())
_LIBCPP_HIDE_FROM_ABI constexpr pair() noexcept(
      |           ^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/__utility/pair.h:147:41:
error: explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  147 |   _LIBCPP_CONSTEXPR_SINCE_CXX14 explicit(!_CheckArgsDep::template
__is_implicit<_T1 const&, _T2 const&>())
      |                                         ^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/__utility/pair.h:162:41:
error: explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  162 |   _LIBCPP_CONSTEXPR_SINCE_CXX14
explicit(!__check_pair_construction<_T1, _T2>::template __is_implicit<_U1,
_U2>())
      |                                         ^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/__utility/pair.h:183:63:
error: explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  183 |   _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 explicit(
      |                                                               ^
/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/__utility/pair.h:193:41:
error: explicit(bool) is a C++20 extension [-Werror,-Wc++20-extensions]
  193 |   _LIBCPP_CONSTEXPR_SINCE_CXX14
explicit(!__check_pair_construction<_T1, _T2>::template __is_implicit<_U1,
_U2>())
      |                                         ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
*** [event.o] Error code 1

make[5]: stopped making "all" in /usr/src/lib/libdevdctl
make[5]: 2 errors

make[5]: stopped making "all" in /usr/src/lib/libdevdctl

make[4]: stopped making "all" in /usr/src/lib
--- all_subdir_lib/libbsm ---


make[4]: stopped making "all" in /usr/src/lib
--- cddl/lib__L ---


make[4]: stopped making "all" in /usr/src/cddl/lib

make[3]: stopped making "_generic_libs" in /usr/src
--- lib__L ---
--- all_subdir_lib/libsqlite3 ---
--- sqlite3.o ---

--- sqlite3.pico ---


make[4]: stopped making "all" in /usr/src/lib

make[3]: stopped making "_generic_libs" in /usr/src

make[2]: stopped making "libraries" in /usr/src
     1250,27 real      3668,94 user       380,70 sys

make[1]: stopped making "buildworld" in /usr/src

make: stopped making "buildworld" in /usr/src

-- 
You are receiving this mail because:
You are the assignee for the bug.

home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-294900-227-D6HyqFYMZa>