Re: devel/electron25: Build failure on CURRENT with clang17

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Thu, 14 Dec 2023 20:23:41 UTC
On 14 Dec 2023, at 20:49, Rainer Hurling <rhurlin@gwdg.de> wrote:
> 
> On my FreeBSD 15.0-CURRENT amd64 boxes with clang 17 as base compiler I get:
> 
> ===>  Building for electron25-25.9.8_1
> ninja: Entering directory `out/Release'
> [  0% 1/32805] c++ -MMD -MF obj/base/base/reentry_guard.o.d -DBASE_IMPLEMENTATION -DIS_RAW_PTR_IMPL -DSYSTEM_NATIVE_UTF8 -DUSE_SYMBOLIZE -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D_GNU_SOURCE -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DIS_MAS_BUILD\(\)=0 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_56 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_56 -DUSE_SYSTEM_LIBEVENT=1 -DGLOG_EXPORT= -DUSING_SYSTEM_ICU=1
> -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC -DU_FINAL=final -DU_NOEXCEPT=noexcept -DU_OVERRIDE=override -DU_IMPORT=U_EXPORT -I../.. -Igen -I../../third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -Igen/shim_headers/libevent_shim -Igen/shim_headers/icui18n_shim -Igen/shim_headers/icuuc_shim -I../../third_party/abseil-cpp -I../../third_party/boringssl/src/include -I../../third_party/protobuf/src -Igen/protoc_out -Wall -Wextra -Wimplicit-fallthrough -Wextra-semi -Wunreachable-code-aggressive -Wthread-safety -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wloop-analysis -Wno-unneeded-internal-declaration -Wenum-compare-conditional -Wno-ignored-pragma-optimize -Wshadow -fno-delete-null-pointer-checks -fno-ident -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -m64 -msse3 -Xclang -fdebug-compilation-dir -Xclang . -no-canonical-prefixes -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -g0 -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wshorten-64-to-32 -Wimplicit-int-conversion -Wsign-compare -Wsign-conversion -Wtautological-unsigned-zero-compare -Wexit-time-destructors -Wglobal-constructors -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -O2 -fdata-sections -ffunction-sections -fno-unique-section-names -DPROTOBUF_ALLOW_DEPRECATED=1 -I/usr/local/include -I/usr/local/include -std=c++20 -Wno-trigraphs -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -isystem /usr/local/include  -c ../../base/allocator/dispatcher/reentry_guard.cc -o obj/base/base/reentry_guard.o
> FAILED: obj/base/base/reentry_guard.o
> c++ -MMD -MF obj/base/base/reentry_guard.o.d -DBASE_IMPLEMENTATION -DIS_RAW_PTR_IMPL -DSYSTEM_NATIVE_UTF8 -DUSE_SYMBOLIZE -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D_GNU_SOURCE -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DIS_MAS_BUILD\(\)=0 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_56 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_56 -DUSE_SYSTEM_LIBEVENT=1 -DGLOG_EXPORT= -DUSING_SYSTEM_ICU=1 -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC -DU_FINAL=final -DU_NOEXCEPT=noexcept -DU_OVERRIDE=override -DU_IMPORT=U_EXPORT -I../.. -Igen -I../../third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -Igen/shim_headers/libevent_shim -Igen/shim_headers/icui18n_shim -Igen/shim_headers/icuuc_shim -I../../third_party/abseil-cpp -I../../third_party/boringssl/src/include -I../../third_party/protobuf/src -Igen/protoc_out -Wall -Wextra -Wimplicit-fallthrough -Wextra-semi -Wunreachable-code-aggressive -Wthread-safety -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wloop-analysis -Wno-unneeded-internal-declaration -Wenum-compare-conditional -Wno-ignored-pragma-optimize -Wshadow -fno-delete-null-pointer-checks -fno-ident -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -m64 -msse3 -Xclang -fdebug-compilation-dir -Xclang . -no-canonical-prefixes -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -g0 -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wshorten-64-to-32 -Wimplicit-int-conversion -Wsign-compare -Wsign-conversion -Wtautological-unsigned-zero-compare -Wexit-time-destructors -Wglobal-constructors -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -O2 -fdata-sections -ffunction-sections -fno-unique-section-names -DPROTOBUF_ALLOW_DEPRECATED=1 -I/usr/local/include -I/usr/local/include -std=c++20 -Wno-trigraphs -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -isystem /usr/local/include  -c ../../base/allocator/dispatcher/reentry_guard.cc -o obj/base/base/reentry_guard.o
> In file included from ../../base/allocator/dispatcher/reentry_guard.cc:9:
> In file included from ../../base/debug/crash_logging.h:16:
> In file included from ../../base/strings/string_number_conversions.h:15:
> In file included from ../../base/containers/span.h:19:
> ../../base/containers/checked_iterators.h:248:8: error: no template named '__is_cpp17_contiguous_iterator'; did you mean '__libcpp_is_contiguous_iterator'?
>  248 | struct __is_cpp17_contiguous_iterator<::base::CheckedContiguousIterator<T>>
>      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>      |        __libcpp_is_contiguous_iterator
> /usr/include/c++/v1/__iterator/iterator_traits.h:476:8: note: '__libcpp_is_contiguous_iterator' declared here
>  476 | struct __libcpp_is_contiguous_iterator : _Or<
>      |        ^
> 1 error generated.
> ninja: build stopped: subcommand failed.
> *** Error code 1

This is the same problem that I fixed for qt6-webengine here:
https://cgit.freebsd.org/ports/commit/?id=660b01aa59ee1266ce0faf5718dc5c90abfa4f31

I'll take a look.

-Dimitry