Failure first seen under poudriere(-devel); reproduced with portmaster. Machine running poudriere was: FreeBSD freebeast.catwhisker.org 12.4-STABLE FreeBSD 12.4-STABLE #206 stable/12-n236099-59f3510ea793: Mon Apr 10 10:33:35 UTC 2023 root@freebeast.catwhisker.org:/common/S1/obj/usr/src/amd64.amd64/sys/GENERIC amd64 1204500 1204500 Machine running portmaster was: FreeBSD localhost 12.4-STABLE FreeBSD 12.4-STABLE #1380 stable/12-n236099-59f3510ea793: Mon Apr 10 10:33:57 UTC 2023 root@g1-97.catwhisker.org:/common/S1/obj/usr/src/amd64.amd64/sys/CANARY amd64 1204500 1204500 In each case, the ports tree was main-n615777-7e591c4f2380. In each case, devel/icu had been updated from icu-72.1,1 to icu-73.1,1 (earlier the same day). Email thread starts with the message at https://lists.freebsd.org/archives/freebsd-ports/2023-April/003708.html As dim@ pointed out, the errors are: TEM_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_SYSTEM_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/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 -fprofile-use=../../chrome/build/pgo_profiles/chrome-linux-5615-1679995307-0baae343d55c36a01b20eb4c600fca3ba7e0825e.profdata -Wno-profile-instr-unprofiled -Wno-profile-instr-out-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-destructors -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_now_posix.cc -o obj/base/base/time_now_posix.o [ 25% 13516/53765] 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_SYSTEM_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/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 -fprofile-use=../../chrome/build/pgo_profiles/chrome-linux-5615-1679995307-0baae343d55c36a01b20eb4c600fca3ba7e0825e.profdata -Wno-profile-instr-unprofiled -Wno-profile-instr-out-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-destructors -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 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_SYSTEM_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/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 -fprofile-use=../../chrome/build/pgo_profiles/chrome-linux-5615-1679995307-0baae343d55c36a01b20eb4c600fca3ba7e0825e.profdata -Wno-profile-instr-unprofiled -Wno-profile-instr-out-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-destructors -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. In checking the installed locid.h on the systems in question, I find: localhost(12.4-S)[4] pkg which /usr/local/include/unicode/locid.h /usr/local/include/unicode/locid.h was installed by package icu-73.1,1 localhost(12.4-S)[5] grep -n U_NOEXCEPT !$ grep -n U_NOEXCEPT /usr/local/include/unicode/locid.h localhost(12.4-S)[6] echo $? 1 localhost(12.4-S)[7] While on a system that is still using icu-72.1: albert(12.4-S)[2] pkg which /usr/local/include/unicode/locid.h /usr/local/include/unicode/locid.h was installed by package icu-72.1,1 albert(12.4-S)[3] grep -n U_NOEXCEPT !$ grep -n U_NOEXCEPT /usr/local/include/unicode/locid.h 297: Locale(Locale&& other) U_NOEXCEPT; 323: Locale& operator=(Locale&& other) U_NOEXCEPT; albert(12.4-S)[4] And in checking the ports "work" subdirectory after the portmaster attempt failed, I find: localhost(12.4-S)[7] grep -n U_NOEXCEPT `find /usr/ports/www/chromium/work/ -name locid.h` /usr/ports/www/chromium/work/chromium-112.0.5615.49/third_party/icu/source/common/unicode/locid.h:297: Locale(Locale&& other) U_NOEXCEPT; /usr/ports/www/chromium/work/chromium-112.0.5615.49/third_party/icu/source/common/unicode/locid.h:323: Locale& operator=(Locale&& other) U_NOEXCEPT; localhost(12.4-S)[8] So it looks to me as if the distfiles used for the FreeBSD www/chromium port include icu-72.1 versions of at least one file; this would seem to be problematic for a system that has and uses icu-73.1.
I am looking into it.
The same on 13.2-STABLE and 13.2-RELEASE with poudriere-3.3.7_1.
https://reviews.freebsd.org/D39564 should fix it.
devel/electron22 can use this exact same fix. Getting build errors like: ; ../../third_party/icu/source/i18n/unicode/dtitvfmt.h:95:57: error: expected ';' at end of declaration list UnicodeString toTempString(UErrorCode& status) const U_OVERRIDE; ^ ; ../../third_party/icu/source/i18n/unicode/dtitvfmt.h:98:75: error: expected ';' at end of declaration list Appendable &appendTo(Appendable& appendable, UErrorCode& status) const U_OVERRIDE; ^ ; ../../third_party/icu/source/i18n/unicode/dtitvfmt.h:101:82: error: expected ';' at end of declaration list UBool nextPosition(ConstrainedFieldPosition& cfpos, UErrorCode& status) const U_OVERRIDE; Currently trying to compile electron22-22.3.5_1 from source.
To add to the relevance of being a similar error as with Chrome/Iridium/Ungoogled etc, more errors from electron22-22.3.5_1 building from source: In file included from ../../base/i18n/timezone.cc:10: ../../third_party/icu/source/common/unicode/unistr.h:1909:48: error: expected ';' at end of declaration list UnicodeString &operator=(UnicodeString &&src) U_NOEXCEPT; ^ ; ../../third_party/icu/source/common/unicode/unistr.h:1916:34: error: expected ';' at end of declaration list void swap(UnicodeString &other) U_NOEXCEPT; ^ ; ../../third_party/icu/source/common/unicode/unistr.h:1925:45: error: expected ';' at end of declaration list swap(UnicodeString &s1, UnicodeString &s2) U_NOEXCEPT { Seems to be identical issue with ICU not playing nice with the build environment.
(In reply to Robert Nagy from comment #3) Works for me, as noted in the review above (for www/chromium). Thank you!
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=f5487f8d23309891b6faacaa9eb517f97ece429d commit f5487f8d23309891b6faacaa9eb517f97ece429d Author: Robert Nagy <rnagy@FreeBSD.org> AuthorDate: 2023-04-13 19:36:28 +0000 Commit: Robert Nagy <rnagy@FreeBSD.org> CommitDate: 2023-04-14 09:19:33 +0000 www/{*chromium,iridium}: unbreak build with icu 73 PR: 270817 Approved by: rene (mentor) .../files/patch-build_linux_unbundle_icu.gn (new) | 18 ++++++++++++++++++ .../files/patch-build_linux_unbundle_icu.gn (new) | 18 ++++++++++++++++++ .../files/patch-build_linux_unbundle_icu.gn (new) | 18 ++++++++++++++++++ 3 files changed, 54 insertions(+)