ungoogled-software / ungoogled-chromium

Google Chromium, sans integration with Google
BSD 3-Clause "New" or "Revised" License
20.8k stars 844 forks source link

Update to Chromium 128.0.6613.84 #2991

Closed Ahrotahn closed 3 months ago

Ahrotahn commented 3 months ago

This PR updates to Chromium 128.0.6613.84.

Notes:

The missing dependency fixes have landed so we shouldn't need any extra patches when building with newer versions of ninja.


Change log Blog post

Ahrotahn commented 3 months ago

This PR is on top of #2970 since the changes to the depot_tools patch require one of the previous changes. I can rework that to not rely on the change if there's any issues with that PR.

Edit: Also, the container is running out of memory again. I'll add a commit later today to increase that to the maximum size available to us. The large number of small files being added increases the unpacking time as well, so I'll see about adding a flag to enable multithreaded extraction if possible.

teeminus commented 3 months ago

I get a lot of linking errors due to missing safe_browsing symbols. They are basically caused by two source files:

components/safe_browsing/core/browser/db/v4_store.cc ``` lld-link: error: undefined symbol: public: static enum safe_browsing::V4DecodeResult __cdecl safe_browsing::V4RiceDecoder::DecodeIntegers(__int64, int, int, class std::__Cr::basic_string, class std::__Cr::allocator> const &, class google::protobuf::RepeatedField *) >>> referenced by ../../components/safe_browsing/core/browser/db/v4_store.cc >>> obj/components/safe_browsing/core/browser/db/v4_store/v4_store.obj lld-link: error: undefined symbol: public: static enum safe_browsing::V4DecodeResult __cdecl safe_browsing::V4RiceDecoder::DecodePrefixes(__int64, int, int, class std::__Cr::basic_string, class std::__Cr::allocator> const &, class std::__Cr::vector> *) >>> referenced by ../../components/safe_browsing/core/browser/db/v4_store.cc >>> obj/components/safe_browsing/core/browser/db/v4_store/v4_store.obj ```
chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc ``` lld-link: error: undefined symbol: public: __cdecl safe_browsing::BinaryUploadService::Request::Request(class base::OnceCallback, class enterprise_connectors::CloudOrLocalAnalysisSettings) >>> referenced by ../../chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc >>> obj/chrome/browser\browser/content_analysis_delegate.obj >>> referenced by ../../chrome/browser/enterprise/connectors/analysis/page_print_analysis_request.cc >>> obj/chrome/browser\browser/page_print_analysis_request.obj lld-link: error: undefined symbol: public: __cdecl safe_browsing::BinaryUploadService::Request::Data::Data(void) >>> referenced by ../../chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc >>> obj/chrome/browser\browser/content_analysis_delegate.obj >>> referenced by ../../chrome/browser/enterprise/connectors/analysis/page_print_analysis_request.cc >>> obj/chrome/browser\browser/page_print_analysis_request.obj lld-link: error: undefined symbol: void __cdecl safe_browsing::IncrementCrashKey(enum safe_browsing::ScanningCrashKey, int) >>> referenced by ../../chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc >>> obj/chrome/browser\browser/content_analysis_delegate.obj >>> referenced by ../../chrome/browser/enterprise/connectors/analysis/page_print_analysis_request.cc >>> obj/chrome/browser\browser/page_print_analysis_request.obj lld-link: error: undefined symbol: void __cdecl safe_browsing::DecrementCrashKey(enum safe_browsing::ScanningCrashKey, int) >>> referenced by ../../chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc >>> obj/chrome/browser\browser/content_analysis_delegate.obj >>> referenced by ../../chrome/browser/enterprise/connectors/analysis/files_request_handler.cc >>> obj/chrome/browser\browser/files_request_handler.obj >>> referenced by ../../chrome/browser/enterprise/connectors/analysis/page_print_analysis_request.cc >>> obj/chrome/browser\browser/page_print_analysis_request.obj lld-link: error: undefined symbol: public: __cdecl safe_browsing::BinaryUploadService::Request::Data::~Data(void) >>> referenced by ../../chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc >>> obj/chrome/browser\browser/content_analysis_delegate.obj >>> referenced by ../../chrome/browser/enterprise/connectors/analysis/files_request_handler.cc >>> obj/chrome/browser\browser/files_request_handler.obj >>> referenced by ../../chrome/browser/enterprise/connectors/analysis/page_print_analysis_request.cc >>> obj/chrome/browser\browser/page_print_analysis_request.obj lld-link: error: undefined symbol: public: virtual __cdecl safe_browsing::BinaryUploadService::Request::~Request(void) >>> referenced by ../../chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc >>> obj/chrome/browser\browser/content_analysis_delegate.obj >>> referenced by ../../chrome/browser/enterprise/connectors/analysis/page_print_analysis_request.cc >>> obj/chrome/browser\browser/page_print_analysis_request.obj lld-link: error: undefined symbol: public: __cdecl safe_browsing::BinaryUploadService::Request::Data::Data(struct safe_browsing::BinaryUploadService::Request::Data const &) >>> referenced by ../../chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc >>> obj/chrome/browser\browser/content_analysis_delegate.obj lld-link: error: undefined symbol: void __cdecl safe_browsing::ReportAnalysisConnectorWarningBypass(class Profile *, class GURL const &, class GURL const &, class std::__Cr::basic_string, class std::__Cr::allocator> const &, class std::__Cr::basic_string, class std::__Cr::allocator> const &, class std::__Cr::basic_string, class std::__Cr::allocator> const &, class std::__Cr::basic_string, class std::__Cr::allocator> const &, class std::__Cr::basic_string, class std::__Cr::allocator> const &, class std::__Cr::basic_string, class std::__Cr::allocator> const &, class std::__Cr::basic_string, class std::__Cr::allocator> const &, enum safe_browsing::DeepScanAccessPoint, __int64, class enterprise_connectors::ContentAnalysisResponse const &, class std::__Cr::optional, class std::__Cr::allocator>>) >>> referenced by ../../chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc >>> obj/chrome/browser\browser/content_analysis_delegate.obj >>> referenced by ../../chrome/browser/enterprise/connectors/analysis/files_request_handler.cc >>> obj/chrome/browser\browser/files_request_handler.obj lld-link: error: undefined symbol: void __cdecl safe_browsing::RecordDeepScanMetrics(bool, enum safe_browsing::DeepScanAccessPoint, class base::TimeDelta, __int64, class std::__Cr::basic_string, class std::__Cr::allocator> const &, bool) >>> referenced by ../../chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc >>> obj/chrome/browser\browser/content_analysis_delegate.obj lld-link: error: undefined symbol: public: void __cdecl safe_browsing::BinaryUploadService::CancelRequests::set_user_action_id(class std::__Cr::basic_string, class std::__Cr::allocator> const &) >>> referenced by ../../chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc >>> obj/chrome/browser\browser/content_analysis_delegate.obj lld-link: error: undefined symbol: void __cdecl safe_browsing::RecordDeepScanMetrics(bool, enum safe_browsing::DeepScanAccessPoint, class base::TimeDelta, __int64, enum safe_browsing::BinaryUploadService::Result const &, class enterprise_connectors::ContentAnalysisResponse const &) >>> referenced by ../../chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc >>> obj/chrome/browser\browser/content_analysis_delegate.obj >>> referenced by ../../chrome/browser/enterprise/connectors/analysis/files_request_handler.cc >>> obj/chrome/browser\browser/files_request_handler.obj lld-link: error: undefined symbol: void __cdecl safe_browsing::MaybeReportDeepScanningVerdict(class Profile *, class GURL const &, class GURL const &, class std::__Cr::basic_string, class std::__Cr::allocator> const &, class std::__Cr::basic_string, class std::__Cr::allocator> const &, class std::__Cr::basic_string, class std::__Cr::allocator> const &, class std::__Cr::basic_string, class std::__Cr::allocator> const &, class std::__Cr::basic_string, class std::__Cr::allocator> const &, class std::__Cr::basic_string, class std::__Cr::allocator> const &, class std::__Cr::basic_string, class std::__Cr::allocator> const &, enum safe_browsing::DeepScanAccessPoint, __int64, enum safe_browsing::BinaryUploadService::Result, class enterprise_connectors::ContentAnalysisResponse const &, enum safe_browsing::EventResult) >>> referenced by ../../chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc >>> obj/chrome/browser\browser/content_analysis_delegate.obj >>> referenced by ../../chrome/browser/enterprise/connectors/analysis/files_request_handler.cc >>> obj/chrome/browser\browser/files_request_handler.obj lld-link: error: undefined symbol: public: void __cdecl safe_browsing::BinaryUploadService::Request::set_destination(class std::__Cr::basic_string, class std::__Cr::allocator> const &) >>> referenced by ../../chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc >>> obj/chrome/browser\browser/content_analysis_delegate.obj >>> referenced by ../../chrome/browser/enterprise/connectors/analysis/request_handler_base.cc >>> obj/chrome/browser\browser/request_handler_base.obj lld-link: error: undefined symbol: public: void __cdecl safe_browsing::BinaryUploadService::Request::set_source(class std::__Cr::basic_string, class std::__Cr::allocator> const &) >>> referenced by ../../chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc >>> obj/chrome/browser\browser/content_analysis_delegate.obj >>> referenced by ../../chrome/browser/enterprise/connectors/analysis/request_handler_base.cc >>> obj/chrome/browser\browser/request_handler_base.obj lld-link: error: undefined symbol: public: void __cdecl safe_browsing::BinaryUploadService::Request::set_filename(class std::__Cr::basic_string, class std::__Cr::allocator> const &) >>> referenced by ../../chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc >>> obj/chrome/browser\browser/content_analysis_delegate.obj lld-link: error: undefined symbol: public: void __cdecl safe_browsing::BinaryUploadService::Request::set_printer_name(class std::__Cr::basic_string, class std::__Cr::allocator> const &) >>> referenced by ../../chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc >>> obj/chrome/browser\browser/content_analysis_delegate.obj lld-link: error: undefined symbol: public: void __cdecl safe_browsing::BinaryUploadService::Request::set_content_type(class std::__Cr::basic_string, class std::__Cr::allocator> const &) >>> referenced by ../../chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc >>> obj/chrome/browser\browser/content_analysis_delegate.obj lld-link: error: undefined symbol: public: void __cdecl safe_browsing::BinaryUploadService::Request::set_device_token(class std::__Cr::basic_string, class std::__Cr::allocator> const &) >>> referenced by ../../chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc >>> obj/chrome/browser\browser/content_analysis_delegate.obj >>> referenced by ../../chrome/browser/enterprise/connectors/analysis/request_handler_base.cc >>> obj/chrome/browser\browser/request_handler_base.obj ```

And I am not quite sure how to fix them correctly...

Ahrotahn commented 3 months ago

See if this change solves the enterprise connectors errors:

diff ```diff --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn @@ -6830,8 +6830,6 @@ sources += [ "enterprise/connectors/analysis/analysis_service_settings.cc", "enterprise/connectors/analysis/analysis_service_settings.h", - "enterprise/connectors/analysis/content_analysis_delegate.cc", - "enterprise/connectors/analysis/content_analysis_delegate.h", "enterprise/connectors/analysis/content_analysis_delegate_base.h", "enterprise/connectors/analysis/content_analysis_dialog.cc", "enterprise/connectors/analysis/content_analysis_dialog.h", @@ -6839,8 +6837,6 @@ "enterprise/connectors/analysis/content_analysis_downloads_delegate.h", "enterprise/connectors/analysis/files_request_handler.cc", "enterprise/connectors/analysis/files_request_handler.h", - "enterprise/connectors/analysis/page_print_analysis_request.cc", - "enterprise/connectors/analysis/page_print_analysis_request.h", "enterprise/connectors/analysis/request_handler_base.cc", "enterprise/connectors/analysis/request_handler_base.h", "enterprise/connectors/common.cc", ```

The v4_store ones seem to be due to the new gate in [5539217], though I hope that's only being included due to the enterprise connectors. If you still have that error then you could also try:

diff ```diff --- a/components/safe_browsing/core/browser/db/BUILD.gn +++ b/components/safe_browsing/core/browser/db/BUILD.gn @@ -247,8 +247,6 @@ sources = [ "hash_prefix_map.cc", "hash_prefix_map.h", - "v4_store.cc", - "v4_store.h", ] configs += [ "//build/config/compiler:wexit_time_destructors" ] ```
teeminus commented 3 months ago

The patches worked fine, thanks a lot!

I had to patch a few more bits to fix compiling and linking errors caused by the ENTERPRISE_CONTENT_ANALYSIS:

--- a/chrome/browser/printing/print_view_manager_base.h
+++ b/chrome/browser/printing/print_view_manager_base.h
@@ -229,7 +229,7 @@ class PrintViewManagerBase : public PrintManager, public PrintJob::Observer {
                                      mojom::ScriptedPrintParamsPtr params,
                                      ScriptedPrintCallback callback);

-#if BUILDFLAG(ENTERPRISE_CONTENT_ANALYSIS)
+#if false
   // Helper method bound to `content_analysis_before_printing_document_` when
   // content analysis should happen right before the document is to be printed.
   // This method is virtual for testing purposes.

--- a/chrome/browser/printing/print_view_manager_base.cc
+++ b/chrome/browser/printing/print_view_manager_base.cc
@@ -1340,7 +1340,7 @@ void PrintViewManagerBase::CompleteScriptedPrint(
                      std::move(callback_wrapper)));
 }

-#if BUILDFLAG(ENTERPRISE_CONTENT_ANALYSIS)
+#if false
 void PrintViewManagerBase::CompletePrintDocumentAfterContentAnalysis(
     scoped_refptr<base::RefCountedMemory> print_data,
     const gfx::Size& page_size,

--- a/chrome/browser/printing/print_view_manager.cc
+++ b/chrome/browser/printing/print_view_manager.cc
@@ -380,7 +380,7 @@ void PrintViewManager::ShowScriptedPrintPreview(bool source_is_modifiable) {
   DCHECK(print_preview_rfh_);
   if (GetCurrentTargetFrame() != print_preview_rfh_)
     return;
-#if BUILDFLAG(ENTERPRISE_CONTENT_ANALYSIS)
+#if false
   set_analyzing_content(/*analyzing=*/true);
 #endif
   RejectPrintPreviewRequestIfRestricted(
@@ -394,7 +394,7 @@ void PrintViewManager::OnScriptedPrintPreviewCallback(
     bool source_is_modifiable,
     content::GlobalRenderFrameHostId rfh_id,
     bool should_proceed) {
-#if BUILDFLAG(ENTERPRISE_CONTENT_ANALYSIS)
+#if false
   set_analyzing_content(/*analyzing=*/false);
 #endif
   if (!should_proceed) {
@@ -427,7 +427,7 @@ void PrintViewManager::OnScriptedPrintPreviewCallback(

 void PrintViewManager::RequestPrintPreview(
     mojom::RequestPrintPreviewParamsPtr params) {
-#if BUILDFLAG(ENTERPRISE_CONTENT_ANALYSIS)
+#if false
   set_analyzing_content(/*analyzing=*/true);
 #endif
   RejectPrintPreviewRequestIfRestricted(
@@ -441,7 +441,7 @@ void PrintViewManager::OnRequestPrintPreviewCallback(
     mojom::RequestPrintPreviewParamsPtr params,
     content::GlobalRenderFrameHostId rfh_id,
     bool should_proceed) {
-#if BUILDFLAG(ENTERPRISE_CONTENT_ANALYSIS)
+#if false
   set_analyzing_content(/*analyzing=*/false);
 #endif
   if (!should_proceed) {
Ahrotahn commented 3 months ago

Ok, I'll update the PR with those changes. Did you also need the v4_store changes?

teeminus commented 3 months ago

Yes, I needed all patches you proposed.

xsmile commented 3 months ago

No issues on Arch Linux. The additional patches are not needed in my case.

clickot commented 3 months ago

current state as is builds fine on portable linux and result runs at least on manjaro, ubuntu 20.04/24.04 and fedora 40.

Cubik65536 commented 3 months ago

Builds and runs fine on macOS (arm64).

tpearson-ssc commented 3 months ago

Unfortunately I'm hitting a new build failure on 128:

FAILED: obj/chrome/browser/extensions/extensions/chrome_file_system_delegate.o
clang++-16 -MD -MF obj/chrome/browser/extensions/extensions/chrome_file_system_delegate.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D_GNU_SOURCE -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE -D_GLIBCXX_ASSERTIONS=1 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DUSE_GIO -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_56 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_56 -DSK_ENABLE_SKSL -DSK_UNTIL_CRBUG_1187654_IS_FIXED -DSK_USER_CONFIG_HEADER=\"../../skia/config/SkUserConfig.h\" -DSK_WIN_FONTMGR_NO_SIMULATIONS -DSK_DISABLE_LEGACY_INIT_DECODERS -DSK_DISABLE_LEGACY_BACKEND_TEXTURE_FUNCS -DSK_DISABLE_LEGACY_TEXTURE_INFO_FUNCS -DSK_DISABLE_LEGACY_BACKEND_SEMAPHORE_FUNCS -DSK_DISABLE_LEGACY_GRAPHITE_IMAGES -DSK_CODEC_DECODES_JPEG -DSK_ENCODE_JPEG -DSK_ENCODE_PNG -DSK_ENCODE_WEBP -DSK_GANESH -DSK_GPU_WORKAROUNDS_HEADER=\"gpu/config/gpu_driver_bug_workaround_autogen.h\" -DSK_GL -DSK_VULKAN=1 -DSK_GRAPHITE -DSK_DAWN -DVK_USE_PLATFORM_XCB_KHR -DVK_USE_PLATFORM_WAYLAND_KHR -DLIBYUV_DISABLE_NEON -DLIBYUV_DISABLE_LSX -DLIBYUV_DISABLE_LASX -DTOOLKIT_VIEWS=1 -DON_FOCUS_PING_ENABLED -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DGOOGLE_PROTOBUF_INTERNAL_DONATE_STEAL_INLINE=0 -DHAVE_PTHREAD -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_CHROMIUM_ICU=1 -DU_ENABLE_TRACING=1 -DU_ENABLE_RESOURCE_TRACING=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DWEBRTC_ENABLE_AVX2 -DWEBRTC_CHROMIUM_BUILD -DWEBRTC_POSIX -DWEBRTC_LINUX -DABSL_ALLOCATOR_NOTHROW=1 -DWEBRTC_USE_X11 -DWEBRTC_USE_PIPEWIRE -DWEBRTC_USE_GIO -DLOGGING_INSIDE_WEBRTC -DLEVELDB_PLATFORM_CHROMIUM=1 -DCRASHPAD_ZLIB_SOURCE_EXTERNAL -DUSE_SYSTEM_ZLIB=1 -DV8_USE_EXTERNAL_STARTUP_DATA -DV8_ARRAY_BUFFER_INTERNAL_FIELD_COUNT=0 -DV8_ARRAY_BUFFER_VIEW_INTERNAL_FIELD_COUNT=0 -DV8_PROMISE_INTERNAL_FIELD_COUNT=0 -DV8_DEPRECATION_WARNINGS -DV8_USE_PERFETTO -DV8_HAVE_TARGET_OS -DV8_TARGET_OS_LINUX -DCPPGC_ENABLE_LARGER_CAGE -DCPPGC_SLIM_WRITE_BARRIER -DATK_LIB_DIR=\"/usr/lib/powerpc64le-linux-gnu\" -DUSE_ATK_BRIDGE -DI18N_ADDRESS_VALIDATION_DATA_URL=\"https://chromium-i18n.appspot.com/ssl-aggregate-address/\" -DFLATBUFFERS_LOCALE_INDEPENDENT=0 -DVK_NO_PROTOTYPES -DUSE_VULKAN_XCB -I../.. -Igen -Igen/shim_headers/zlib_shim -I../../third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -Igen/shim_headers/double_conversion_shim -Igen/shim_headers/libevent_shim -I../../net/third_party/quiche/overrides -I../../net/third_party/quiche/src/quiche/common/platform/default -I../../net/third_party/quiche/src -Igen/shim_headers/zstd_headers -I../../third_party/skia -Igen/third_party/skia -I../../third_party/wuffs/src/release/c -I../../third_party/vulkan/include -I../../third_party/vulkan-headers/src/include -I../../third_party/wayland/src/src -I../../third_party/wayland/include/src -Igen/third_party/dawn/include -I../../third_party/dawn/include -Igen/shim_headers/libpng_shim -I../../third_party/libyuv/include -Igen/shim_headers/opus_shim -Igen/shim_headers/openh264_shim -Igen/shim_headers/dav1d_shim -Igen/shim_headers/libXNVCtrl_shim -I../../third_party/khronos -I../../gpu -Igen/shim_headers/flac_shim -Igen/shim_headers/minizip_shim -Igen/third_party/private_membership/src -Igen/third_party/shell-encryption/src -Igen/components/policy/proto -I../../third_party/protobuf/src -Igen/protoc_out -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/ipcz/include -I../../third_party/ced/src -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -Igen/components/reporting/proto/synced -Igen/net/third_party/quiche/src -I../../third_party/webrtc_overrides -I../../third_party/webrtc -Igen/third_party/webrtc -I../../third_party/libwebm/source -I../../third_party/mesa_headers -I../../third_party/leveldatabase -I../../third_party/leveldatabase/src -I../../third_party/leveldatabase/src/include -I../../third_party/crashpad/crashpad -I../../third_party/crashpad/crashpad/compat/linux -I../../third_party/crashpad/crashpad/compat/non_win -I../../third_party/libaom/source/libaom -I../../third_party/libaom/source/config/linux/ppc64 -I../../v8/include -Igen/third_party/metrics_proto -I../../third_party/re2/src -I../../third_party/libaddressinput/src/cpp/include -I../../third_party/flatbuffers/src/include -I../../third_party/flatbuffers/src/src -I../../third_party/flatbuffers/src -I../../third_party/flatbuffers/generated -I../../third_party/wayland/include -I../../third_party/wayland/src/cursor -I../../third_party/wayland/src/egl -Igen/third_party/wayland/src/protocol -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 -Wno-cast-function-type -Wno-deprecated-builtins -Wno-deprecated-this-capture -Wno-invalid-offsetof -Wno-vla-extension -Wshadow -fno-delete-null-pointer-checks -fno-ident -fno-strict-aliasing -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -fno-sized-deallocation -fcrash-diagnostics-dir=../../tools/clang/crashreports -mllvm -instcombine-lower-dbg-declare=0 -ffp-contract=off -flto=thin -fsplit-lto-unit -mllvm -inlinehint-threshold=360 -fwhole-program-vtables -m64 -mcpu=power9 -mtune=power9 -ffile-compilation-dir=. -no-canonical-prefixes -ftrivial-auto-var-init=pattern -O2 -fdata-sections -ffunction-sections -fno-unique-section-names -fno-math-errno -fno-omit-frame-pointer -g0 -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wexit-time-destructors -isystem/usr/include/glib-2.0 -isystem/usr/lib/powerpc64le-linux-gnu/glib-2.0/include -isystem/usr/include/sysprof-6 -isystem/usr/include/libmount -isystem/usr/include/blkid -isystem/usr/include/glib-2.0 -isystem/usr/lib/powerpc64le-linux-gnu/glib-2.0/include -isystem/usr/include/sysprof-6 -Wno-redundant-parens -Wno-redundant-parens -DPROTOBUF_ALLOW_DEPRECATED=1 -isystem/usr/include/nss -isystem/usr/include/nspr -isystem/usr/include/dbus-1.0 -isystem/usr/lib/powerpc64le-linux-gnu/dbus-1.0/include -isystem/usr/include/atk-1.0 -isystem/usr/include/glib-2.0 -isystem/usr/lib/powerpc64le-linux-gnu/glib-2.0/include -isystem/usr/include/sysprof-6 -isystem/usr/include/at-spi2-atk/2.0 -isystem/usr/include/at-spi-2.0 -isystem/usr/include/dbus-1.0 -isystem/usr/lib/powerpc64le-linux-gnu/dbus-1.0/include -isystem/usr/include/libmount -isystem/usr/include/blkid -Wno-constant-conversion -Wno-shorten-64-to-32 -Wenum-compare-conditional -Wno-c++11-narrowing -std=c++20 -Wno-trigraphs -gsimple-template-names -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -ffile-prefix-map=/CHROMIUM_REBUILD/CHROMIUM_128/NEW.UNGOOGLED.BUILD_TEST/chromium-128.0.6613.36=. -fstack-protector-strong -Wformat -Werror=format-security -stdlib=libc++ -I/usr/lib/llvm-16/include/c++/v1 -Wno-conversion -Wno-unused-function -Wno-unused-variable -Wno-unused-private-field -Wno-deprecated-declarations -Wno-unknown-pragmas  -fno-delete-null-pointer-checks -faltivec-src-compat=mixed -Wno-deprecated-altivec-src-compat -c ../../chrome/browser/extensions/api/file_system/chrome_file_system_delegate.cc -o obj/chrome/browser/extensions/extensions/chrome_file_system_delegate.o
In file included from ../../chrome/browser/extensions/api/file_system/chrome_file_system_delegate.cc:16:
../../chrome/browser/download/chrome_download_manager_delegate.h:29:10: fatal error: 'components/safe_browsing/content/common/proto/download_file_types.pb.h' file not found
#include "components/safe_browsing/content/common/proto/download_file_types.pb.h"
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
[2257/8870] CXX obj/chrome/browser/extensions/extensions/downloads_api.o
FAILED: obj/chrome/browser/extensions/extensions/downloads_api.o
clang++-16 -MD -MF obj/chrome/browser/extensions/extensions/downloads_api.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D_GNU_SOURCE -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE -D_GLIBCXX_ASSERTIONS=1 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DUSE_GIO -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_56 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_56 -DSK_ENABLE_SKSL -DSK_UNTIL_CRBUG_1187654_IS_FIXED -DSK_USER_CONFIG_HEADER=\"../../skia/config/SkUserConfig.h\" -DSK_WIN_FONTMGR_NO_SIMULATIONS -DSK_DISABLE_LEGACY_INIT_DECODERS -DSK_DISABLE_LEGACY_BACKEND_TEXTURE_FUNCS -DSK_DISABLE_LEGACY_TEXTURE_INFO_FUNCS -DSK_DISABLE_LEGACY_BACKEND_SEMAPHORE_FUNCS -DSK_DISABLE_LEGACY_GRAPHITE_IMAGES -DSK_CODEC_DECODES_JPEG -DSK_ENCODE_JPEG -DSK_ENCODE_PNG -DSK_ENCODE_WEBP -DSK_GANESH -DSK_GPU_WORKAROUNDS_HEADER=\"gpu/config/gpu_driver_bug_workaround_autogen.h\" -DSK_GL -DSK_VULKAN=1 -DSK_GRAPHITE -DSK_DAWN -DVK_USE_PLATFORM_XCB_KHR -DVK_USE_PLATFORM_WAYLAND_KHR -DLIBYUV_DISABLE_NEON -DLIBYUV_DISABLE_LSX -DLIBYUV_DISABLE_LASX -DTOOLKIT_VIEWS=1 -DON_FOCUS_PING_ENABLED -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DGOOGLE_PROTOBUF_INTERNAL_DONATE_STEAL_INLINE=0 -DHAVE_PTHREAD -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_CHROMIUM_ICU=1 -DU_ENABLE_TRACING=1 -DU_ENABLE_RESOURCE_TRACING=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DWEBRTC_ENABLE_AVX2 -DWEBRTC_CHROMIUM_BUILD -DWEBRTC_POSIX -DWEBRTC_LINUX -DABSL_ALLOCATOR_NOTHROW=1 -DWEBRTC_USE_X11 -DWEBRTC_USE_PIPEWIRE -DWEBRTC_USE_GIO -DLOGGING_INSIDE_WEBRTC -DLEVELDB_PLATFORM_CHROMIUM=1 -DCRASHPAD_ZLIB_SOURCE_EXTERNAL -DUSE_SYSTEM_ZLIB=1 -DV8_USE_EXTERNAL_STARTUP_DATA -DV8_ARRAY_BUFFER_INTERNAL_FIELD_COUNT=0 -DV8_ARRAY_BUFFER_VIEW_INTERNAL_FIELD_COUNT=0 -DV8_PROMISE_INTERNAL_FIELD_COUNT=0 -DV8_DEPRECATION_WARNINGS -DV8_USE_PERFETTO -DV8_HAVE_TARGET_OS -DV8_TARGET_OS_LINUX -DCPPGC_ENABLE_LARGER_CAGE -DCPPGC_SLIM_WRITE_BARRIER -DATK_LIB_DIR=\"/usr/lib/powerpc64le-linux-gnu\" -DUSE_ATK_BRIDGE -DI18N_ADDRESS_VALIDATION_DATA_URL=\"https://chromium-i18n.appspot.com/ssl-aggregate-address/\" -DFLATBUFFERS_LOCALE_INDEPENDENT=0 -DVK_NO_PROTOTYPES -DUSE_VULKAN_XCB -I../.. -Igen -Igen/shim_headers/zlib_shim -I../../third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -Igen/shim_headers/double_conversion_shim -Igen/shim_headers/libevent_shim -I../../net/third_party/quiche/overrides -I../../net/third_party/quiche/src/quiche/common/platform/default -I../../net/third_party/quiche/src -Igen/shim_headers/zstd_headers -I../../third_party/skia -Igen/third_party/skia -I../../third_party/wuffs/src/release/c -I../../third_party/vulkan/include -I../../third_party/vulkan-headers/src/include -I../../third_party/wayland/src/src -I../../third_party/wayland/include/src -Igen/third_party/dawn/include -I../../third_party/dawn/include -Igen/shim_headers/libpng_shim -I../../third_party/libyuv/include -Igen/shim_headers/opus_shim -Igen/shim_headers/openh264_shim -Igen/shim_headers/dav1d_shim -Igen/shim_headers/libXNVCtrl_shim -I../../third_party/khronos -I../../gpu -Igen/shim_headers/flac_shim -Igen/shim_headers/minizip_shim -Igen/third_party/private_membership/src -Igen/third_party/shell-encryption/src -Igen/components/policy/proto -I../../third_party/protobuf/src -Igen/protoc_out -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/ipcz/include -I../../third_party/ced/src -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -Igen/components/reporting/proto/synced -Igen/net/third_party/quiche/src -I../../third_party/webrtc_overrides -I../../third_party/webrtc -Igen/third_party/webrtc -I../../third_party/libwebm/source -I../../third_party/mesa_headers -I../../third_party/leveldatabase -I../../third_party/leveldatabase/src -I../../third_party/leveldatabase/src/include -I../../third_party/crashpad/crashpad -I../../third_party/crashpad/crashpad/compat/linux -I../../third_party/crashpad/crashpad/compat/non_win -I../../third_party/libaom/source/libaom -I../../third_party/libaom/source/config/linux/ppc64 -I../../v8/include -Igen/third_party/metrics_proto -I../../third_party/re2/src -I../../third_party/libaddressinput/src/cpp/include -I../../third_party/flatbuffers/src/include -I../../third_party/flatbuffers/src/src -I../../third_party/flatbuffers/src -I../../third_party/flatbuffers/generated -I../../third_party/wayland/include -I../../third_party/wayland/src/cursor -I../../third_party/wayland/src/egl -Igen/third_party/wayland/src/protocol -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 -Wno-cast-function-type -Wno-deprecated-builtins -Wno-deprecated-this-capture -Wno-invalid-offsetof -Wno-vla-extension -Wshadow -fno-delete-null-pointer-checks -fno-ident -fno-strict-aliasing -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -fno-sized-deallocation -fcrash-diagnostics-dir=../../tools/clang/crashreports -mllvm -instcombine-lower-dbg-declare=0 -ffp-contract=off -flto=thin -fsplit-lto-unit -mllvm -inlinehint-threshold=360 -fwhole-program-vtables -m64 -mcpu=power9 -mtune=power9 -ffile-compilation-dir=. -no-canonical-prefixes -ftrivial-auto-var-init=pattern -O2 -fdata-sections -ffunction-sections -fno-unique-section-names -fno-math-errno -fno-omit-frame-pointer -g0 -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wexit-time-destructors -isystem/usr/include/glib-2.0 -isystem/usr/lib/powerpc64le-linux-gnu/glib-2.0/include -isystem/usr/include/sysprof-6 -isystem/usr/include/libmount -isystem/usr/include/blkid -isystem/usr/include/glib-2.0 -isystem/usr/lib/powerpc64le-linux-gnu/glib-2.0/include -isystem/usr/include/sysprof-6 -Wno-redundant-parens -Wno-redundant-parens -DPROTOBUF_ALLOW_DEPRECATED=1 -isystem/usr/include/nss -isystem/usr/include/nspr -isystem/usr/include/dbus-1.0 -isystem/usr/lib/powerpc64le-linux-gnu/dbus-1.0/include -isystem/usr/include/atk-1.0 -isystem/usr/include/glib-2.0 -isystem/usr/lib/powerpc64le-linux-gnu/glib-2.0/include -isystem/usr/include/sysprof-6 -isystem/usr/include/at-spi2-atk/2.0 -isystem/usr/include/at-spi-2.0 -isystem/usr/include/dbus-1.0 -isystem/usr/lib/powerpc64le-linux-gnu/dbus-1.0/include -isystem/usr/include/libmount -isystem/usr/include/blkid -Wno-constant-conversion -Wno-shorten-64-to-32 -Wenum-compare-conditional -Wno-c++11-narrowing -std=c++20 -Wno-trigraphs -gsimple-template-names -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -ffile-prefix-map=/CHROMIUM_REBUILD/CHROMIUM_128/NEW.UNGOOGLED.BUILD_TEST/chromium-128.0.6613.36=. -fstack-protector-strong -Wformat -Werror=format-security -stdlib=libc++ -I/usr/lib/llvm-16/include/c++/v1 -Wno-conversion -Wno-unused-function -Wno-unused-variable -Wno-unused-private-field -Wno-deprecated-declarations -Wno-unknown-pragmas  -fno-delete-null-pointer-checks -faltivec-src-compat=mixed -Wno-deprecated-altivec-src-compat -c ../../chrome/browser/extensions/api/downloads/downloads_api.cc -o obj/chrome/browser/extensions/extensions/downloads_api.o
In file included from ../../chrome/browser/extensions/api/downloads/downloads_api.cc:38:
In file included from ../../chrome/browser/download/bubble/download_bubble_ui_controller.h:12:
In file included from ../../chrome/browser/download/bubble/download_bubble_update_service.h:20:
In file included from ../../chrome/browser/download/bubble/download_display_controller.h:10:
In file included from ../../chrome/browser/download/offline_item_model.h:12:
../../chrome/browser/download/download_ui_model.h:23:10: fatal error: 'components/safe_browsing/content/common/proto/download_file_types.pb.h' file not found
#include "components/safe_browsing/content/common/proto/download_file_types.pb.h"
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
[2273/8870] CXX obj/third_party/blink/renderer/modules/peerconnection/test_support/mock_peer_connection_impl.o
ninja: build stopped: subcommand failed
tpearson-ssc commented 3 months ago

Looks like this patch fixes the issue above. Could be an older Ninja version problem on Debian.

--- chrome/browser/extensions/BUILD.gn.orig     2024-08-22 22:45:35.394851130 +0000
+++ chrome/browser/extensions/BUILD.gn  2024-08-23 18:54:45.807313693 +0000
@@ -936,6 +936,7 @@
     "//components/resources",
     "//components/safe_browsing:buildflags",
     "//components/safe_browsing/content/browser/web_ui:web_ui",
+    "//components/safe_browsing/content/common/proto:download_file_types_proto",
     "//components/safe_browsing/core/browser/db:database_manager",
     "//components/safe_browsing/core/common",
     "//components/safe_browsing/core/common:safe_browsing_prefs",