Control: forwarded -1 https://issues.chromium.org/issues/456218403
Thanks! Fedora and Suse are using the patch you attached, while Gentoo has a smaller patch. I'll try them out probably when preparing v146 in a little over a week.
On 2/23/26 15:14, Aurelien Jarno wrote:
Source: chromium Version: 145.0.7632.75-1 Severity: important Tags: ftbfs upstream Justification: fails to build from source User: [email protected] Usertags: glibc-2.43 Dear maintainer(s), chromium fails to build from source with glibc 2.43, currently in experimental. From the build log: | FAILED: [code=1] obj/sandbox/linux/seccomp_bpf/baseline_policy.o | clang++-19 -MD -MF obj/sandbox/linux/seccomp_bpf/baseline_policy.o.d -DSANDBOX_IMPLEMENTATION -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 -D__ARM_NEON__=1 -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE -D_GLIBCXX_ASSERTIONS=1 -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_56 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_56 -I../.. -Igen -I../../third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -Igen/shim_headers/zlib_shim -Igen/shim_headers/double_conversion_shim -I../../base/allocator/partition_allocator/src -Igen/base/allocator/partition_allocator/src -I../../third_party/abseil-cpp -I../../third_party/boringssl/src/include -I../../third_party/protobuf/src -Wall -Wextra -Wimplicit-fallthrough -Wextra-semi -Wunreachable-code-aggressive -Wgnu -Wno-gnu-anonymous-struct -Wno-gnu-conditional-omitted-operand -Wno-gnu-include-next -Wno-gnu-label-as-value -Wno-gnu-redeclared-enum -Wno-gnu-statement-expression -Wno-gnu-zero-variadic-macro-arguments -Wno-zero-length-array -Wthread-safety -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wloop-analysis -Wno-unneeded-internal-declaration -Wno-cast-function-type -Wno-thread-safety-reference-return -Wshadow -fno-delete-null-pointer-checks -fno-strict-overflow -fno-ident -fno-math-errno -fno-strict-aliasing -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -fcrash-diagnostics-dir=../clang-crashreports -mllvm -instcombine-lower-dbg-declare=0 -mllvm -split-threshold-for-reg-with-hint=0 -ffp-contract=off -Wa,--crel,--allow-experimental-crel -flto=thin -fsplit-lto-unit -mllvm -inlinehint-threshold=360 -fwhole-program-vtables -mbranch-protection=standard --target=aarch64-linux-gnu -mno-outline -ffile-compilation-dir=. -no-canonical-prefixes -ftrivial-auto-var-init=zero -O2 -fdata-sections -ffunction-sections -fno-unique-section-names -fno-omit-frame-pointer -g0 -fsanitize=array-bounds -fsanitize-trap=array-bounds -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -isystem/usr/include/glib-2.0 -isystem/usr/include/sysprof-6 -isystem/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wno-invalid-offsetof -Wenum-compare-conditional -Wno-nullability-completeness -std=c++23 -Wno-trigraphs -gsimple-template-names -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -ffile-prefix-map=/build/reproducible-path/chromium-145.0.7632.75=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -stdlib=libc++ -Wno-conversion -Wno-unused-function -Wno-unused-variable -Wno-unused-private-field -Wno-deprecated-declarations -Wno-unknown-pragmas -fno-delete-null-pointer-checks -c ../../sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc -o obj/sandbox/linux/seccomp_bpf/baseline_policy.o | In file included from ../../sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc:22: | In file included from ../../sandbox/linux/services/syscall_wrappers.h:8: | In file included from /usr/include/signal.h:58: | /usr/include/aarch64-linux-gnu/bits/siginfo-consts.h:219:3: error: expected identifier | 219 | SYS_SECCOMP = 1, /* Seccomp triggered. */ | | ^ | ../../sandbox/linux/system_headers/linux_seccomp.h:235:39: note: expanded from macro 'SYS_SECCOMP' | 235 | #define SYS_SECCOMP 1 | | ^ | 1 error generated. ... | FAILED: [code=1] obj/sandbox/linux/seccomp_bpf/sigsys_handlers.o | clang++-19 -MD -MF obj/sandbox/linux/seccomp_bpf/sigsys_handlers.o.d -DSANDBOX_IMPLEMENTATION -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 -D__ARM_NEON__=1 -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE -D_GLIBCXX_ASSERTIONS=1 -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_56 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_56 -I../.. -Igen -I../../third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -Igen/shim_headers/zlib_shim -Igen/shim_headers/double_conversion_shim -I../../base/allocator/partition_allocator/src -Igen/base/allocator/partition_allocator/src -I../../third_party/abseil-cpp -I../../third_party/boringssl/src/include -I../../third_party/protobuf/src -Wall -Wextra -Wimplicit-fallthrough -Wextra-semi -Wunreachable-code-aggressive -Wgnu -Wno-gnu-anonymous-struct -Wno-gnu-conditional-omitted-operand -Wno-gnu-include-next -Wno-gnu-label-as-value -Wno-gnu-redeclared-enum -Wno-gnu-statement-expression -Wno-gnu-zero-variadic-macro-arguments -Wno-zero-length-array -Wthread-safety -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wloop-analysis -Wno-unneeded-internal-declaration -Wno-cast-function-type -Wno-thread-safety-reference-return -Wshadow -fno-delete-null-pointer-checks -fno-strict-overflow -fno-ident -fno-math-errno -fno-strict-aliasing -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -fcrash-diagnostics-dir=../clang-crashreports -mllvm -instcombine-lower-dbg-declare=0 -mllvm -split-threshold-for-reg-with-hint=0 -ffp-contract=off -Wa,--crel,--allow-experimental-crel -flto=thin -fsplit-lto-unit -mllvm -inlinehint-threshold=360 -fwhole-program-vtables -mbranch-protection=standard --target=aarch64-linux-gnu -mno-outline -ffile-compilation-dir=. -no-canonical-prefixes -ftrivial-auto-var-init=zero -O2 -fdata-sections -ffunction-sections -fno-unique-section-names -fno-omit-frame-pointer -g0 -fsanitize=array-bounds -fsanitize-trap=array-bounds -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -isystem/usr/include/glib-2.0 -isystem/usr/include/sysprof-6 -isystem/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wno-invalid-offsetof -Wenum-compare-conditional -Wno-nullability-completeness -std=c++23 -Wno-trigraphs -gsimple-template-names -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -ffile-prefix-map=/build/reproducible-path/chromium-145.0.7632.75=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -stdlib=libc++ -Wno-conversion -Wno-unused-function -Wno-unused-variable -Wno-unused-private-field -Wno-deprecated-declarations -Wno-unknown-pragmas -fno-delete-null-pointer-checks -c ../../sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc -o obj/sandbox/linux/seccomp_bpf/sigsys_handlers.o | In file included from ../../sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc:25: | In file included from ../../sandbox/linux/seccomp-bpf/syscall.h:8: | In file included from /usr/include/signal.h:58: | /usr/include/aarch64-linux-gnu/bits/siginfo-consts.h:219:3: error: expected identifier | 219 | SYS_SECCOMP = 1, /* Seccomp triggered. */ | | ^ | ../../sandbox/linux/system_headers/linux_seccomp.h:235:39: note: expanded from macro 'SYS_SECCOMP' | 235 | #define SYS_SECCOMP 1 | | ^ | 1 error generated. ... | FAILED: [code=1] obj/sandbox/linux/seccomp_bpf/trap.o | clang++-19 -MD -MF obj/sandbox/linux/seccomp_bpf/trap.o.d -DSANDBOX_IMPLEMENTATION -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 -D__ARM_NEON__=1 -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE -D_GLIBCXX_ASSERTIONS=1 -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_56 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_56 -I../.. -Igen -I../../third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -Igen/shim_headers/zlib_shim -Igen/shim_headers/double_conversion_shim -I../../base/allocator/partition_allocator/src -Igen/base/allocator/partition_allocator/src -I../../third_party/abseil-cpp -I../../third_party/boringssl/src/include -I../../third_party/protobuf/src -Wall -Wextra -Wimplicit-fallthrough -Wextra-semi -Wunreachable-code-aggressive -Wgnu -Wno-gnu-anonymous-struct -Wno-gnu-conditional-omitted-operand -Wno-gnu-include-next -Wno-gnu-label-as-value -Wno-gnu-redeclared-enum -Wno-gnu-statement-expression -Wno-gnu-zero-variadic-macro-arguments -Wno-zero-length-array -Wthread-safety -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wloop-analysis -Wno-unneeded-internal-declaration -Wno-cast-function-type -Wno-thread-safety-reference-return -Wshadow -fno-delete-null-pointer-checks -fno-strict-overflow -fno-ident -fno-math-errno -fno-strict-aliasing -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -fcrash-diagnostics-dir=../clang-crashreports -mllvm -instcombine-lower-dbg-declare=0 -mllvm -split-threshold-for-reg-with-hint=0 -ffp-contract=off -Wa,--crel,--allow-experimental-crel -flto=thin -fsplit-lto-unit -mllvm -inlinehint-threshold=360 -fwhole-program-vtables -mbranch-protection=standard --target=aarch64-linux-gnu -mno-outline -ffile-compilation-dir=. -no-canonical-prefixes -ftrivial-auto-var-init=zero -O2 -fdata-sections -ffunction-sections -fno-unique-section-names -fno-omit-frame-pointer -g0 -fsanitize=array-bounds -fsanitize-trap=array-bounds -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -isystem/usr/include/glib-2.0 -isystem/usr/include/sysprof-6 -isystem/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wno-invalid-offsetof -Wenum-compare-conditional -Wno-nullability-completeness -std=c++23 -Wno-trigraphs -gsimple-template-names -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -ffile-prefix-map=/build/reproducible-path/chromium-145.0.7632.75=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -stdlib=libc++ -Wno-conversion -Wno-unused-function -Wno-unused-variable -Wno-unused-private-field -Wno-deprecated-declarations -Wno-unknown-pragmas -fno-delete-null-pointer-checks -c ../../sandbox/linux/seccomp-bpf/trap.cc -o obj/sandbox/linux/seccomp_bpf/trap.o | In file included from ../../sandbox/linux/seccomp-bpf/trap.cc:5: | In file included from ../../sandbox/linux/seccomp-bpf/trap.h:15: | In file included from ../../sandbox/linux/system_headers/linux_signal.h:68: | In file included from /usr/include/signal.h:58: | /usr/include/aarch64-linux-gnu/bits/siginfo-consts.h:219:3: error: expected identifier | 219 | SYS_SECCOMP = 1, /* Seccomp triggered. */ | | ^ | ../../sandbox/linux/system_headers/linux_seccomp.h:235:39: note: expanded from macro 'SYS_SECCOMP' | 235 | #define SYS_SECCOMP 1 | | ^ | ../../sandbox/linux/seccomp-bpf/trap.cc:154:46: error: use of undeclared identifier 'SYS_SECCOMP' | 154 | if (nr != LINUX_SIGSYS || info->si_code != SYS_SECCOMP || !ctx || | | ^ | /usr/include/aarch64-linux-gnu/bits/siginfo-consts.h:220:23: note: expanded from macro 'SYS_SECCOMP' | 220 | # define SYS_SECCOMP SYS_SECCOMP | | ^ | 2 errors generated. ... | FAILED: [code=1] obj/sandbox/linux/seccomp_bpf/sandbox_bpf.o | clang++-19 -MD -MF obj/sandbox/linux/seccomp_bpf/sandbox_bpf.o.d -DSANDBOX_IMPLEMENTATION -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 -D__ARM_NEON__=1 -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE -D_GLIBCXX_ASSERTIONS=1 -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_56 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_56 -I../.. -Igen -I../../third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -Igen/shim_headers/zlib_shim -Igen/shim_headers/double_conversion_shim -I../../base/allocator/partition_allocator/src -Igen/base/allocator/partition_allocator/src -I../../third_party/abseil-cpp -I../../third_party/boringssl/src/include -I../../third_party/protobuf/src -Wall -Wextra -Wimplicit-fallthrough -Wextra-semi -Wunreachable-code-aggressive -Wgnu -Wno-gnu-anonymous-struct -Wno-gnu-conditional-omitted-operand -Wno-gnu-include-next -Wno-gnu-label-as-value -Wno-gnu-redeclared-enum -Wno-gnu-statement-expression -Wno-gnu-zero-variadic-macro-arguments -Wno-zero-length-array -Wthread-safety -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wloop-analysis -Wno-unneeded-internal-declaration -Wno-cast-function-type -Wno-thread-safety-reference-return -Wshadow -fno-delete-null-pointer-checks -fno-strict-overflow -fno-ident -fno-math-errno -fno-strict-aliasing -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -fcrash-diagnostics-dir=../clang-crashreports -mllvm -instcombine-lower-dbg-declare=0 -mllvm -split-threshold-for-reg-with-hint=0 -ffp-contract=off -Wa,--crel,--allow-experimental-crel -flto=thin -fsplit-lto-unit -mllvm -inlinehint-threshold=360 -fwhole-program-vtables -mbranch-protection=standard --target=aarch64-linux-gnu -mno-outline -ffile-compilation-dir=. -no-canonical-prefixes -ftrivial-auto-var-init=zero -O2 -fdata-sections -ffunction-sections -fno-unique-section-names -fno-omit-frame-pointer -g0 -fsanitize=array-bounds -fsanitize-trap=array-bounds -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -isystem/usr/include/glib-2.0 -isystem/usr/include/sysprof-6 -isystem/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wno-invalid-offsetof -Wenum-compare-conditional -Wno-nullability-completeness -std=c++23 -Wno-trigraphs -gsimple-template-names -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -ffile-prefix-map=/build/reproducible-path/chromium-145.0.7632.75=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -stdlib=libc++ -Wno-conversion -Wno-unused-function -Wno-unused-variable -Wno-unused-private-field -Wno-deprecated-declarations -Wno-unknown-pragmas -fno-delete-null-pointer-checks -c ../../sandbox/linux/seccomp-bpf/sandbox_bpf.cc -o obj/sandbox/linux/seccomp_bpf/sandbox_bpf.o | In file included from ../../sandbox/linux/seccomp-bpf/sandbox_bpf.cc:28: | In file included from ../../sandbox/linux/seccomp-bpf/syscall.h:8: | In file included from /usr/include/signal.h:58: | /usr/include/aarch64-linux-gnu/bits/siginfo-consts.h:219:3: error: expected identifier | 219 | SYS_SECCOMP = 1, /* Seccomp triggered. */ | | ^ | ../../sandbox/linux/system_headers/linux_seccomp.h:235:39: note: expanded from macro 'SYS_SECCOMP' | 235 | #define SYS_SECCOMP 1 | | ^ | 1 error generated. ... | ninja: build stopped: subcommand failed. | make[1]: *** [debian/rules:237: override_dh_auto_build-arch] Error 1 | make[1]: Leaving directory '/build/reproducible-path/chromium-145.0.7632.75' | make: *** [debian/rules:188: binary] Error 2 | dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2 The full build log is available here [1]. The issue is due to the definition of SYS_SECCOMP in <signal/signal.h> added in glibc 2.43 [2]. I believe that the patch used by OpenSUSE [3] fixes the issue, but I haven't tested it. I would like to thanks Emanuele Rocca for doing the archive rebuild on a fast arm64 server. Regards Aurelien [1] https://people.debian.org/~ema/glibc-2.43-rebuilds/output-1/chromium_arm64.build [2] https://sourceware.org/git/?p=glibc.git;a=commit;h=6f120faf649f03a261e3e64d5b5991030383c1b3 [3] https://build.opensuse.org/projects/openSUSE:Factory/packages/chromium/files/chromium-141-glibc-2.42-SYS_SECCOMP.patch?expand=0

