Re: www/chromium: build failed using poudriere in stable/12

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Thu, 13 Apr 2023 13:26:53 UTC
On 13 Apr 2023, at 14:05, David Wolfskill <david@catwhisker.org> wrote:
> 
> Details in https://www.catwhisker.org/~david/FreeBSD/ports/chromium/
> (Log is under 12/ in there.)
...

The lines you posted didn't contain the actual error message, but in the full log:

FAILED: obj/base/base/time_exploded_icu.o
c++ -MMD -MF obj/base/base/time_exploded_icu.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 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_56 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_56 -DUSE_SYS
TEM_LIBEVENT=1 -DGLOG_EXPORT= -DUSING_SYSTEM_ICU=1 -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC -DU_IMPORT=U_EXPORT -I../.. -Igen -I../../third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -Igen/shim_headers/l
ibevent_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 -Wu
nreachable-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-ch
ecks -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-cano
nical-prefixes -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -g0 -fprofile-use=../../chrome/build/pgo_profiles/chrome-linux-5615-1679995307-0baae343d55c36a01b20eb4c600fca3ba7e0825e.profdata -Wno-profile-instr-unprofiled -Wno-profile-instr-ou
t-of-date -Wno-backend-plugin -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-destru
ctors -Wglobal-constructors -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/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/time/time_exploded_icu.cc -o obj/base/base/
time_exploded_icu.o
In file included from ../../base/time/time_exploded_icu.cc:14:
../../third_party/icu/source/common/unicode/locid.h:297:27: error: expected ';' at end of declaration list
    Locale(Locale&& other) U_NOEXCEPT;
                          ^
                          ;
../../third_party/icu/source/common/unicode/locid.h:323:38: error: expected ';' at end of declaration list
    Locale& operator=(Locale&& other) U_NOEXCEPT;
                                     ^
                                     ;
2 errors generated.

If chromium has built successfully for you before, it is most likely that this problem is due to an icu update (either external, or in the chromium port itself).

The issue is probably that 'U_NOEXCEPT' does not get properly defined to (for example) 'noexcept'. You'll have to dig into the icu configuration stuff to see why.

-Dimitry