Build fails: error: no member named 'PhishingDetector' in namespace 'safe_browsing::mojom'
I'm near the final goal of #357, but I meet a build failure:
[40106/47704] x86_64-pc-linux-gnu-clang++-19 -MD -MF obj/components/safe_browsing/content/browser/client_side_detection/client_side_detection_host.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -DOFFICI>
FAILED: obj/components/safe_browsing/content/browser/client_side_detection/client_side_detection_host.o
x86_64-pc-linux-gnu-clang++-19 -MD -MF obj/components/safe_browsing/content/browser/client_side_detection/client_side_detection_host.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -D__S>
In file included from ../../components/safe_browsing/content/browser/client_side_detection_host.cc:5:
../../components/safe_browsing/content/browser/client_side_detection_host.h:312:33: error: no member named 'PhishingDetector' in namespace 'safe_browsing::mojom'
312 | mojo::AssociatedRemote<mojom::PhishingDetector> phishing_detector_;
| ~~~~~~~^
../../components/safe_browsing/content/browser/client_side_detection_host.h:315:33: error: no member named 'PhishingImageEmbedderDetector' in namespace 'safe_browsing::mojom'
315 | mojo::AssociatedRemote<mojom::PhishingImageEmbedderDetector>
| ~~~~~~~^
...
Not seen when building ungoogled-chromium, electron. Not sure what caused the failure.
The ebuild and patches: thorium.tar.gz
I don't know what version you are compiling? Can you please specify here? Also, if you are trying to compile version 132, it is not ready yet.
I don't know what version you are compiling? Can you please specify here? Also, if you are trying to compile version 132, it is not ready yet.
130.0.6723.174
By the way, I think the build.log is detailed enough.
Thanks for specifying the version numbers here. From the files you provided, I noticed some patches that seem to come from outside the Thorium repository. Maybe you need to search which patches modified the relevant files.
There is only one I can find that relates to safe_browsing: fix-building-without-safebrowsing.patch. But I didn't use it in the failed build. And ungoogled-chromium, electron in PF4Public use same patches and don't fail.
Thorium is not and does not intend to be ungoogled.
Why close this issue? It's not caused by ungoogled. ungoogled is just an option provided but I didn't enable it in the failed build. You can see in the build.log that the line start with USE: doesn't include ungoogled. It's pure optional. I don’t think it’s a sin to simply offer this option. But sorry, I didn't explain the mechanism of Gentoo to you.
Have you tried compiling without the Safe Browsing patch?
Also, I need to confirm which commit of Thorium you are currently using?
Have you tried compiling without the Safe Browsing patch?
Say it again, I didn't build with that patch.
Also, I need to confirm which commit of Thorium you are currently using?
I'm using the tarball in the release: https://github.com/Alex313031/thorium/commit/ec81a00842334eb658dc92ee6b346b583369652f
Okay, try updating Thorium's commit to 6a89d88a334d8df585ce07f9a56254ef85fc8956
Also, since I'm not very familiar with ebuilds, and in the normal workflow of Thorium, neither Alex, midzer, nor I seem to have encountered the problem you described above.
In the worst-case scenario, I'd probably have you try turning off safe browsing completely, perhaps in //components/safe_browsing/buildflags.gni, with safe_browsing_mode = 0 receiving is_linux.
There may be more areas that need to be modified.
In the worst-case scenario, I'd probably have you try turning off safe browsing completely, perhaps in //components/safe_browsing/buildflags.gni, with safe_browsing_mode = 0 receiving is_linux.
There is already myconf_gn+=" safe_browsing_mode=0" in the ebuild. Then I'll try updating the commit.
You need to confirm whether safe_browsing_mode=0 is really effective. You may need to collect gn args/gn gen and other commands to see if they are executed normally (ideally there should be no errors or warnings).
I can see the lines:
gn gen --args=... safe_browsing_mode=0
Done. Made 22036 targets from 3652 files in 6143ms
Should indicate that safe_browsing_mode=0 is effective.
If the build still fails, maybe I should try safe_browsing_mode=0 and the fix-building-without-safebrowsing.patch.
Since Thorium's normal workflow does not include making ebuild files, you may need to refer to www-client/chromium to rewrite the ebuild file or seek community support.
Since Thorium's normal workflow does not include making ebuild files, you may need to refer to www-client/chromium to rewrite the ebuild file or seek community support.
The ebuild is with refererence to ungoogled-chromium::pf4public and I have made some sync with www-client/chromium before (see PF4Public/gentoo-overlay#402). It's really a weird failure since ungoogled-chromium and electron both build fine (basically the same as my thorium ebuild) and I cannot find it on the Internet anywhere.
Have you tried manually fixing all the code paths that have errors?
I'm not familiar with Chromium's code, but I took a look at components/safe_browsing/content/common/safe_browsing.mojom:
[EnableIf=full_safe_browsing]
interface PhishingDetector {
// Tells the renderer to begin phishing detection for the given toplevel URL
// which it has started loading. Returns the serialized request proto and a
// `result` enum to indicate failure. If the URL is phishing the `request`
// ClientPhishingRequest will have `is_phishing()` set to true.
StartPhishingDetection(url.mojom.Url url)
=> (PhishingDetectorResult result,
mojo_base.mojom.ProtoWrapper? request);
};
I guess that gn flag safe_browsing_mode=0 causes full_safe_browsing to be false, so PhishingDetector is not enabled, then the defination of mojom::PhishingDetector is missing. If so, I don't know why the build of ungoogled-chromium, electron do not fail because of this (of course with safe_browsing_mode=0). I would be grateful if you could tell me some way to test.
The error is not seen with safe_browsing_mode=1 but serveral "no member named xxx" errors occur due to the lack of inclusion of the corresponding headers (unrelated to this, I will open a new issue after getting the complete error list).
This should be the last error I meet:
FAILED: obj/chrome/renderer/renderer/chrome_render_frame_observer.o
x86_64-pc-linux-gnu-clang++-19 -MD -MF obj/chrome/renderer/renderer/chrome_render_frame_observer.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 -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_DISABLE_LEGACY_DAWN_TEXTURE_INFO_FUNCS -DSK_DISABLE_LEGACY_DAWN_BACKEND_TEXTURE_FUNCS -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 -DCHROMIUM -DLIBYUV_DISABLE_NEON -DLIBYUV_DISABLE_SVE -DLIBYUV_DISABLE_SME -DLIBYUV_DISABLE_LSX -DLIBYUV_DISABLE_LASX -DTOOLKIT_VIEWS=1 -DUSING_SYSTEM_ICU=1 -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC -DU_IMPORT=U_EXPORT -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DGOOGLE_PROTOBUF_INTERNAL_DONATE_STEAL_INLINE=0 -DHAVE_PTHREAD -DV8_USE_EXTERNAL_STARTUP_DATA -DWEBRTC_ENABLE_AVX2 -DWEBRTC_CHROMIUM_BUILD -DWEBRTC_POSIX -DWEBRTC_LINUX -DABSL_ALLOCATOR_NOTHROW=1 -DWEBRTC_USE_X11 -DLOGGING_INSIDE_WEBRTC -DLEVELDB_PLATFORM_CHROMIUM=1 -DCRASHPAD_ZLIB_SOURCE_EXTERNAL -DUSE_SYSTEM_ZLIB=1 -DV8_ARRAY_BUFFER_INTERNAL_FIELD_COUNT=0 -DV8_ARRAY_BUFFER_VIEW_INTERNAL_FIELD_COUNT=0 -DV8_PROMISE_INTERNAL_FIELD_COUNT=0 -DV8_COMPRESS_POINTERS -DV8_COMPRESS_POINTERS_IN_SHARED_CAGE -DV8_31BIT_SMIS_ON_64BIT_ARCH -DV8_ENABLE_SANDBOX -DV8_DEPRECATION_WARNINGS -DV8_USE_PERFETTO -DV8_HAVE_TARGET_OS -DV8_TARGET_OS_LINUX -DCPPGC_CAGED_HEAP -DCPPGC_YOUNG_GENERATION -DCPPGC_POINTER_COMPRESSION -DCPPGC_ENABLE_LARGER_CAGE -DCPPGC_SLIM_WRITE_BARRIER -DATK_LIB_DIR=\"/usr/lib64\" -DUSE_ATK_BRIDGE -DFLATBUFFERS_LOCALE_INDEPENDENT=0 -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/jsoncpp_shim -Igen/shim_headers/double_conversion_shim -Igen/shim_headers/icui18n_shim -Igen/shim_headers/icuuc_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 -Igen/third_party/dawn/include -I../../third_party/dawn/include -Igen/shim_headers/libpng_shim -Igen/shim_headers/libwebp_shim -Igen/third_party/private_membership/src -Igen/third_party/shell-encryption/src -Igen/components/policy/proto -I../../third_party/libyuv/include -Igen/shim_headers/opus_shim -Igen/shim_headers/libevent_shim -Igen/shim_headers/ffmpeg_shim -Igen/shim_headers/openh264_shim -Igen/shim_headers/crc32c_shim -Igen/shim_headers/snappy_shim -I../../third_party/khronos -I../../gpu -Igen/shim_headers/flac_shim -Igen/shim_headers/minizip_shim -Igen/shim_headers/woff2_shim -Igen/shim_headers/jxl_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 -Igen/protoc_out -I../../third_party/ipcz/include -I../../third_party/ced/src -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/angle/include -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/x64 -I../../v8/include -Igen/third_party/metrics_proto -I../../third_party/re2/src -I../../third_party/flatbuffers/src/include -I../../third_party/flatbuffers/src/src -I../../third_party/flatbuffers/src -I../../third_party/flatbuffers/generated -Igen/v8/include -I../../third_party/fp16/src/include -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-vla-extension -Wno-thread-safety-reference-return -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 -fsized-deallocation -flto=thin -fsplit-lto-unit -mllvm -inlinehint-threshold=360 -fwhole-program-vtables -no-canonical-prefixes -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -fprofile-use=../../chrome/build/pgo_profiles/chrome-linux-6723-1733159130-a5a2dc303855ef5efd9183eeebc68f04932f3097-d101f8bd9ceed464c1d066b8bffa18d791485d3e.profdata -Wno-profile-instr-unprofiled -Wno-profile-instr-out-of-date -Wno-backend-plugin -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wexit-time-destructors -isystem/usr/lib64/libffi/include -isystem/usr/include/glib-2.0 -isystem/usr/lib64/glib-2.0/include -Wno-redundant-parens -Wno-redundant-parens -DPROTOBUF_ALLOW_DEPRECATED=1 -isystem/usr/include/nss -isystem/usr/include/nspr -isystem/usr/include/at-spi2-atk/2.0 -isystem/usr/include/at-spi-2.0 -isystem/usr/include/libmount -isystem/usr/include/blkid -isystem/usr/include/atk-1.0 -isystem/usr/include/dbus-1.0 -isystem/usr/lib64/dbus-1.0/include -isystem/usr/lib64/libffi/include -isystem/usr/include/glib-2.0 -isystem/usr/lib64/glib-2.0/include -Wno-constant-conversion -Wno-shorten-64-to-32 -Wno-invalid-offsetof -Wenum-compare-conditional -Wno-c++11-narrowing-const-reference -Wno-missing-template-arg-list-after-template-kw -Wno-dangling-assignment-gsl -std=c++20 -Wno-trigraphs -gsimple-template-names -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -U_GLIBCXX_ASSERTIONS -march=native -O3 -fno-semantic-interposition -pipe -Wno-unknown-warning-option -c ../../chrome/renderer/chrome_render_frame_observer.cc -o obj/chrome/renderer/renderer/chrome_render_frame_observer.o
In file included from ../../chrome/renderer/chrome_render_frame_observer.cc:72:
In file included from ../../chrome/renderer/accessibility/read_anything_app_controller.h:17:
In file included from ../../chrome/renderer/accessibility/read_aloud_app_model.h:12:
In file included from ../../chrome/renderer/accessibility/phrase_segmentation/dependency_parser_model.h:9:
../../third_party/tflite/src/tensorflow/lite/core/interpreter.h:43:10: fatal error: 'tensorflow/compiler/mlir/lite/experimental/remat/metadata_util.h' file not found
43 | #include "tensorflow/compiler/mlir/lite/experimental/remat/metadata_util.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
I guess it may relate to the visibility. So I applied https://github.com/tensorflow/tensorflow/commit/c1bdbb30b67bc7b34caf675ef4ec66fc47c3d66d. But the error still occurrs. Any way to fix this?
Any update on this? If not, I have to give up Thorium in Gentoo.
Sorry, neither I nor any other team members have encountered these problems, and no one in the team seems to be using Gentoo, so we may not be able to give you more accurate help.
If one day I or other team members get a chance to use Gentoo, things might change.
Can you try building with build_with_tflite_lib=false?
Under normal circumstances, you shouldn't run into any of the problems you mention, and there's no need to pass those extra args parameters.
I commented build_with_tflite_lib=false then there's another failure!
FAILED: obj/third_party/blink/renderer/platform/platform/color_data.o
x86_64-pc-linux-gnu-clang++-19 -MD -MF obj/third_party/blink/renderer/platform/platform/color_data.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 -DBLINK_IMPLEMENTATION=1 -DINSIDE_BLINK -DBLINK_PLATFORM_IMPLEMENTATION=1 -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_DISABLE_LEGACY_DAWN_TEXTURE_INFO_FUNCS -DSK_DISABLE_LEGACY_DAWN_BACKEND_TEXTURE_FUNCS -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 -DCHROMIUM -DLIBYUV_DISABLE_NEON -DLIBYUV_DISABLE_SVE -DLIBYUV_DISABLE_SME -DLIBYUV_DISABLE_LSX -DLIBYUV_DISABLE_LASX -DWTF_USE_WEBAUDIO_PFFFT=1 -DUSING_SYSTEM_ICU=1 -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC -DU_IMPORT=U_EXPORT -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DGOOGLE_PROTOBUF_INTERNAL_DONATE_STEAL_INLINE=0 -DHAVE_PTHREAD -DV8_ARRAY_BUFFER_INTERNAL_FIELD_COUNT=0 -DV8_ARRAY_BUFFER_VIEW_INTERNAL_FIELD_COUNT=0 -DV8_PROMISE_INTERNAL_FIELD_COUNT=0 -DV8_COMPRESS_POINTERS -DV8_COMPRESS_POINTERS_IN_SHARED_CAGE -DV8_31BIT_SMIS_ON_64BIT_ARCH -DV8_ENABLE_SANDBOX -DV8_DEPRECATION_WARNINGS -DV8_USE_PERFETTO -DV8_HAVE_TARGET_OS -DV8_TARGET_OS_LINUX -DCPPGC_CAGED_HEAP -DCPPGC_YOUNG_GENERATION -DCPPGC_POINTER_COMPRESSION -DCPPGC_ENABLE_LARGER_CAGE -DCPPGC_SLIM_WRITE_BARRIER -DWEBRTC_ENABLE_AVX2 -DWEBRTC_CHROMIUM_BUILD -DWEBRTC_POSIX -DWEBRTC_LINUX -DABSL_ALLOCATOR_NOTHROW=1 -DWEBRTC_USE_X11 -DLOGGING_INSIDE_WEBRTC -DLEVELDB_PLATFORM_CHROMIUM=1 -DCRASHPAD_ZLIB_SOURCE_EXTERNAL -DUSE_SYSTEM_ZLIB=1 -DUSE_SYSTEM_LIBJPEG -DLIBGAV1_MAX_BITDEPTH=10 -DLIBGAV1_THREADPOOL_USE_STD_MUTEX -DLIBGAV1_ENABLE_LOGGING=0 -DLIBGAV1_PUBLIC= -I../../third_party/pffft/src -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/jsoncpp_shim -Igen/shim_headers/double_conversion_shim -Igen/shim_headers/icui18n_shim -Igen/shim_headers/icuuc_shim -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 -Igen/third_party/dawn/include -I../../third_party/dawn/include -Igen/shim_headers/libpng_shim -Igen/shim_headers/libwebp_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/khronos -I../../gpu -I../../third_party/libyuv/include -Igen/shim_headers/ffmpeg_shim -Igen/shim_headers/flac_shim -Igen/shim_headers/opus_shim -Igen/shim_headers/crc32c_shim -Igen/shim_headers/snappy_shim -Igen/shim_headers/openh264_shim -Igen/shim_headers/libevent_shim -Igen/shim_headers/woff2_shim -Igen/shim_headers/jxl_shim -Igen/shim_headers/minizip_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 -Igen/protoc_out -I../../third_party/ipcz/include -I../../third_party/ced/src -Igen/net/third_party/quiche/src -I../../v8/include -I../../third_party/webrtc_overrides -I../../third_party/webrtc -Igen/third_party/webrtc -I../../third_party/libwebm/source -I../../third_party/angle/include -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/x64 -I../../third_party/ots/src/include -Igen/v8/include -I../../third_party/fp16/src/include -I../../third_party/emoji-segmenter/src -I../../third_party/libgav1/src -I../../third_party/libgav1/src/src -I../../third_party/one_euro_filter/src -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-vla-extension -Wno-thread-safety-reference-return -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 -fsized-deallocation -flto=thin -fsplit-lto-unit -mllvm -inlinehint-threshold=360 -fwhole-program-vtables -no-canonical-prefixes -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -fprofile-use=../../chrome/build/pgo_profiles/chrome-linux-6723-1733159130-a5a2dc303855ef5efd9183eeebc68f04932f3097-d101f8bd9ceed464c1d066b8bffa18d791485d3e.profdata -Wno-profile-instr-unprofiled -Wno-profile-instr-out-of-date -Wno-backend-plugin -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wconversion -Wno-float-conversion -Wno-sign-conversion -Wno-implicit-float-conversion -Wno-implicit-int-conversion -Wexit-time-destructors -Wglobal-constructors -isystem/usr/lib64/libffi/include -isystem/usr/include/glib-2.0 -isystem/usr/lib64/glib-2.0/include -Wno-redundant-parens -Wno-redundant-parens -DPROTOBUF_ALLOW_DEPRECATED=1 -isystem/usr/include/nss -isystem/usr/include/nspr -isystem/usr/include/libpng16 -isystem/usr/include/freetype2 -isystem/usr/include/harfbuzz -isystem/usr/include/freetype2 -isystem/usr/include/glib-2.0 -isystem/usr/lib64/glib-2.0/include -DHWY_SHARED_DEFINE -Wno-invalid-offsetof -Wenum-compare-conditional -Wno-c++11-narrowing-const-reference -Wno-missing-template-arg-list-after-template-kw -Wno-dangling-assignment-gsl -std=c++20 -Wno-trigraphs -gsimple-template-names -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -U_GLIBCXX_ASSERTIONS -march=native -O3 -fno-semantic-interposition -pipe -Wno-unknown-warning-option -c gen/third_party/blink/renderer/platform/color_data.cc -o obj/third_party/blink/renderer/platform/platform/color_data.o
gen/third_party/blink/renderer/platform/color_data.cc:186:7: error: fallthrough annotation does not directly precede switch label
186 | [[fallthrough]];
| ^
gen/third_party/blink/renderer/platform/color_data.cc:162:7: error: fallthrough annotation does not directly precede switch label
162 | [[fallthrough]];
| ^
gen/third_party/blink/renderer/platform/color_data.cc:210:7: error: fallthrough annotation does not directly precede switch label
210 | [[fallthrough]];
| ^
gen/third_party/blink/renderer/platform/color_data.cc:106:7: error: fallthrough annotation does not directly precede switch label
106 | [[fallthrough]];
| ^
gen/third_party/blink/renderer/platform/color_data.cc:226:7: error: fallthrough annotation does not directly precede switch label
226 | [[fallthrough]];
| ^
gen/third_party/blink/renderer/platform/color_data.cc:202:7: error: fallthrough annotation does not directly precede switch label
202 | [[fallthrough]];
| ^
gen/third_party/blink/renderer/platform/color_data.cc:114:7: error: fallthrough annotation does not directly precede switch label
114 | [[fallthrough]];
| ^
gen/third_party/blink/renderer/platform/color_data.cc:138:7: error: fallthrough annotation does not directly precede switch label
138 | [[fallthrough]];
| ^
gen/third_party/blink/renderer/platform/color_data.cc:178:7: error: fallthrough annotation does not directly precede switch label
178 | [[fallthrough]];
| ^
gen/third_party/blink/renderer/platform/color_data.cc:242:7: error: fallthrough annotation does not directly precede switch label
242 | [[fallthrough]];
| ^
gen/third_party/blink/renderer/platform/color_data.cc:218:7: error: fallthrough annotation does not directly precede switch label
218 | [[fallthrough]];
| ^
gen/third_party/blink/renderer/platform/color_data.cc:194:7: error: fallthrough annotation does not directly precede switch label
194 | [[fallthrough]];
| ^
gen/third_party/blink/renderer/platform/color_data.cc:154:7: error: fallthrough annotation does not directly precede switch label
154 | [[fallthrough]];
| ^
gen/third_party/blink/renderer/platform/color_data.cc:130:7: error: fallthrough annotation does not directly precede switch label
130 | [[fallthrough]];
| ^
gen/third_party/blink/renderer/platform/color_data.cc:146:7: error: fallthrough annotation does not directly precede switch label
146 | [[fallthrough]];
| ^
gen/third_party/blink/renderer/platform/color_data.cc:98:7: error: fallthrough annotation does not directly precede switch label
98 | [[fallthrough]];
| ^
gen/third_party/blink/renderer/platform/color_data.cc:170:7: error: fallthrough annotation does not directly precede switch label
170 | [[fallthrough]];
| ^
gen/third_party/blink/renderer/platform/color_data.cc:122:7: error: fallthrough annotation does not directly precede switch label
122 | [[fallthrough]];
| ^
gen/third_party/blink/renderer/platform/color_data.cc:234:7: error: fallthrough annotation does not directly precede switch label
234 | [[fallthrough]];
| ^
19 errors generated.
Code snippet:
switch (hval)
{
default:
hval += asso_values[static_cast<unsigned char>(str[19])];
#if (defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang__ && __clang_major__ + (__clang_minor__ >= 9) > 3))) || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 202000L && ((defined __GNUC__ && __GNUC__ >= 10) || (defined __clang__ && __clang_major__ >= 9)))
[[fallthrough]];
#elif (defined __GNUC__ && __GNUC__ >= 7) || (defined __clang__ && __clang_major__ >= 10)
__attribute__ ((__fallthrough__));
#endif
[[fallthrough]];
case 19:
hval += asso_values[static_cast<unsigned char>(str[18])];
#if (defined __cplusplus && (__cplusplus >= 201703L || (__cplusplus >= 201103L && defined __clang__ && __clang_major__ + (__clang_minor__ >= 9) > 3))) || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 202000L && ((defined __GNUC__ && __GNUC__ >= 10) || (defined __clang__ && __clang_major__ >= 9)))
[[fallthrough]];
#elif (defined __GNUC__ && __GNUC__ >= 7) || (defined __clang__ && __clang_major__ >= 10)
__attribute__ ((__fallthrough__));
#endif
[[fallthrough]];
So my journey to Thorium has come to an end! Bye!
No problem, it's your freedom.
Maybe I can pin my hopes on version 132 coming out in a few years :D, but before that I need to give my computer a rest.
I'm trying to install a Gentoo system, and once I'm done with it I'll probably try to compile Thorium.
Could you please share the latest ebuild file on your machine? Like the one you sent with the issue?
After recognizing that the last build failure is PF4Public/gentoo-overlay#420, I'm rebuilding Thorium with gperf-3.1. Let me see if it succeeds this time first.
Let's celebrate the successful build of Thorium after the battle lasting for months! I have uploaded the ebuild to https://github.com/blackteahamburger/blackteahamburger-overlay. To build Thorium, you need to emerge app-eselect/eselect-repository, eselect repository add my-overlay git https://github.com/blackteahamburger/my-overlay, emerge --sync then emerge www-client/thorium.
There are some notifications:
USE flags: you need to set proper USE flags. If you don't know how, just follow the default. system-av1 system-libvpx system-re2 probably won't build. system-ffmpeg requires the media-video/ffmpeg ebuild in my-overlay, with the ebuild in the main tree won't compile. ungoogled is totally untested. cpu_flags_x86_* is used only to control the behavior of setup.sh instead of the compiler flags (e.g. not used to set gn flags for more flexibility). Enable custom-cflags to override Thorium's default compiler flags.
Reproducing the failures mentioned above:
-
chromium-130-fix-includes.patchis used to fix theundefined symbolserrors due to the lack of inclusion of the corresponding headers. Comment ebuild line 539 to reproduce them. -
safe_browsing_mode=0causesno member named 'PhishingDetector' in namespace 'safe_browsing::mojom, uncomment line 1452 to reproduce. -
build_with_tflite_lib=falsecausesfatal error: 'tensorflow/compiler/mlir/lite/experimental/remat/metadata_util.h' file not found, uncomment line 1439 to reproduce. - Another slight failure:
safe_browsing_mode=1causes an error (prior to the compile) related tothird_party/unrar, comment line 1170 to reproduce.
Good luck!
I'm sorry, due to some glitches and it seems that I didn't find a way to correctly set up dual graphics card switching and compiling the Gentoo system and its packages took me a lot of time, I had to fall back to the Debian system.
Also, I'm glad to see the progress you're making, and it would be even better if we could eliminate some of the non-Thorium-related stuff from it and follow the Thorium workflow more closely.
You can check the trunk+version+setup+build sh scripts for more information.
Due to restriction of network access in the ebuild, it is impossible to build Thorium the way described in BUILDING.md (or at least, inconvenient and ugly). And I don't want to sacrifice the flexibility and options provided by the current ebuild.