PF4Public / gentoo-overlay

Personal Gentoo overlay
78 stars 18 forks source link

www-client/ungoogled-chromium-113.0.5672.63_p1[system-abseil-cpp]: unresolved dependencies #218

Closed fordfrog closed 1 year ago

fordfrog commented 1 year ago

i enabled all new system stuff just to test it and i get following error:

 * Configuring Chromium...
gn gen --args= is_clang=true clang_use_chrome_plugins=false use_lld=true custom_toolchain="//build/toolchain/linux/unbundle:default" host_toolchain="//build/toolchain/linux/unbundle:default" is_debug=false dcheck_always_on=false dcheck_is_configurable=false enable_nacl=false use_system_libpng=true use_system_harfbuzz=true use_gnome_keyring=false enable_hangout_services_extension=false enable_widevine=true use_cups=true use_kerberos=false use_pulseaudio=true use_vaapi=true rtc_use_pipewire=false gtk_version=3 disable_fieldtrial_testing_config=true is_cfi=false chrome_pgo_phase=2 optimize_webui=true use_system_freetype=true use_system_libopenjpeg2=true enable_pdf=true use_system_lcms2=true enable_print_preview=true enable_platform_hevc=true enable_hevc_parser_and_hw_decoder=true enable_mdns=false enable_mse_mpeg2ts_stream_parser=true enable_reading_list=false enable_remoting=false enable_reporting=false enable_service_discovery=false exclude_unwind_tables=true use_official_google_api_keys=false google_api_key="" google_default_client_id="" google_default_client_secret="" safe_browsing_mode=0 use_unofficial_version_number=false blink_symbol_level=0 symbol_level=0 enable_iterator_debugging=false enable_swiftshader=false build_with_tflite_lib=false perfetto_use_system_zlib=true use_system_zlib=true use_system_libjpeg=true rtc_build_examples=false use_gold=false use_sysroot=false use_custom_libcxx=false enable_pseudolocales=false blink_enable_generated_code_formatting=false proprietary_codecs=true ffmpeg_branding="Chrome" target_cpu="x64" treat_warnings_as_errors=false fatal_linker_warnings=false v8_use_libm_trig_functions=true icu_use_data_file=false use_ozone=true ozone_auto_platforms=false ozone_platform_headless=true use_system_libdrm=true use_system_minigbm=true use_xkbcommon=true use_qt=true ozone_platform_x11=true ozone_platform_wayland=false ozone_platform="x11" is_official_build=true use_thin_lto=true thin_lto_enable_optimizations=true symbol_level=0  out/Release
ERROR Unresolved dependencies.
//third_party/abseil-cpp:absl_component_deps(//build/toolchain/linux/unbundle:default)
  needs //third_party/abseil-cpp/absl/base:prefetch(//build/toolchain/linux/unbundle:default)
//third_party/abseil-cpp:absl_component_deps(//build/toolchain/linux/unbundle:default)
  needs //third_party/abseil-cpp/absl/log:absl_check(//build/toolchain/linux/unbundle:default)
//third_party/abseil-cpp:absl_component_deps(//build/toolchain/linux/unbundle:default)
  needs //third_party/abseil-cpp/absl/log:absl_log(//build/toolchain/linux/unbundle:default)
//third_party/abseil-cpp:absl_component_deps(//build/toolchain/linux/unbundle:default)
  needs //third_party/abseil-cpp/absl/log:die_if_null(//build/toolchain/linux/unbundle:default)
//third_party/abseil-cpp:absl_component_deps(//build/toolchain/linux/unbundle:default)
  needs //third_party/abseil-cpp/absl/random:distributions(//build/toolchain/linux/unbundle:default)
//third_party/abseil-cpp:absl_tests(//build/toolchain/linux/unbundle:default)
  needs //third_party/abseil-cpp/absl/debugging:stacktrace_test(//build/toolchain/linux/unbundle:default)
//third_party/abseil-cpp:absl_tests(//build/toolchain/linux/unbundle:default)
  needs //third_party/abseil-cpp/absl/log:absl_check_test(//build/toolchain/linux/unbundle:default)
//third_party/abseil-cpp:absl_tests(//build/toolchain/linux/unbundle:default)
  needs //third_party/abseil-cpp/absl/log:absl_log_basic_test(//build/toolchain/linux/unbundle:default)
//third_party/abseil-cpp:absl_tests(//build/toolchain/linux/unbundle:default)
  needs //third_party/abseil-cpp/absl/numeric:int128_test(//build/toolchain/linux/unbundle:default)
//third_party/abseil-cpp:absl_tests(//build/toolchain/linux/unbundle:default)
  needs //third_party/abseil-cpp/absl/strings:damerau_levenshtein_distance_test(//build/toolchain/linux/unbundle:default)
//third_party/abseil-cpp:absl_tests(//build/toolchain/linux/unbundle:default)
  needs //third_party/abseil-cpp/absl/synchronization:kernel_timeout_internal_test(//build/toolchain/linux/unbundle:default)
//third_party/abseil-cpp:absl_tests(//build/toolchain/linux/unbundle:default)
  needs //third_party/abseil-cpp/absl/synchronization:waiter_test(//build/toolchain/linux/unbundle:default)
//third_party/abseil-cpp:absl_tests(//build/toolchain/linux/unbundle:default)
  needs //third_party/abseil-cpp/absl/time:time_test(//build/toolchain/linux/unbundle:default)
//third_party/abseil-cpp/absl/crc:crc32c(//build/toolchain/linux/unbundle:default)
  needs //third_party/abseil-cpp/absl/base:dynamic_annotations(//build/toolchain/linux/unbundle:default)
//third_party/abseil-cpp/absl/crc:crc32c(//build/toolchain/linux/unbundle:default)
  needs //third_party/abseil-cpp/absl/base:endian(//build/toolchain/linux/unbundle:default)
//third_party/abseil-cpp/absl/crc:crc32c(//build/toolchain/linux/unbundle:default)
  needs //third_party/abseil-cpp/absl/base:prefetch(//build/toolchain/linux/unbundle:default)
//third_party/abseil-cpp/absl/crc:crc_internal(//build/toolchain/linux/unbundle:default)
  needs //third_party/abseil-cpp/absl/base:dynamic_annotations(//build/toolchain/linux/unbundle:default)
//third_party/abseil-cpp/absl/crc:crc_internal(//build/toolchain/linux/unbundle:default)
  needs //third_party/abseil-cpp/absl/base:endian(//build/toolchain/linux/unbundle:default)
//third_party/abseil-cpp/absl/crc:crc_internal(//build/toolchain/linux/unbundle:default)
  needs //third_party/abseil-cpp/absl/base:prefetch(//build/toolchain/linux/unbundle:default)
//third_party/abseil-cpp/absl/crc:crc_internal(//build/toolchain/linux/unbundle:default)
  needs //third_party/abseil-cpp/absl/base:raw_logging_internal(//build/toolchain/linux/unbundle:default)
//third_party/abseil-cpp/absl/crc:crc_memcpy_test(//build/toolchain/linux/unbundle:default)
  needs //third_party/abseil-cpp/absl/random:distributions(//build/toolchain/linux/unbundle:default)

here are the use flags:

[ebuild   R   #] www-client/ungoogled-chromium-113.0.5672.63_p1::pf4public  USE="X clang convert-dict cups hevc nvidia%* official optimize-thinlto optimize-webui pgo proprietary-codecs pulseaudio qt5 system-abseil-cpp%* system-av1 system-brotli%* system-crc32c%* system-double-conversion%* system-ffmpeg system-harfbuzz system-icu system-jsoncpp system-libevent system-libusb system-openh264 system-openjpeg system-png system-re2 system-snappy system-woff2%* thinlto vaapi widevine -cfi -custom-cflags -debug -enable-driver -gtk4 -hangouts -headless -kerberos -pic -screencast (-selinux) -suid -system-libvpx -wayland" L10N="cs -af -am -ar -bg -bn -ca -da -de -el -en-GB -es -es-419 -et -fa -fi -fil -fr -gu -he -hi -hr -hu -id -it -ja -kn -ko -lt -lv -ml -mr -ms -nb -nl -pl -pt-BR -pt-PT -ro -ru -sk -sl -sr -sv -sw -ta -te -th -tr -uk -ur -vi -zh-CN -zh-TW" 0 KiB
PF4Public commented 1 year ago

Yeah, this one fails. Didn't investigate why yet.

anh0516 commented 1 year ago

Same issue here.

USE: X abi_x86_64 amd64 clang cups custom-cflags elibc_glibc kernel_linux official optimize-thinlto optimize-webui pgo proprietary-codecs pulseaudio qt5 screencast system-abseil-cpp system-av1 system-brotli system-crc32c system-double-conversion system-ffmpeg system-harfbuzz system-icu system-jsoncpp system-libevent system-libusb system-libvpx system-openh264 system-openjpeg system-png system-re2 system-snappy system-woff2 thinlto vaapi wayland widevine

Running clang/llvm-16, media-libs/libaom, media-libs/libvpx ~amd64

PF4Public commented 1 year ago

I managed to fix gn dependencies resolution, but it still breaks the compilation due to https://github.com/llvm/llvm-project/issues/50248.

Hacking abseil options to avoid std::optional from libstdc++ breaks ABI compatibility:

ld.lld: error: undefined symbol: absl::lts_20230125::optional_internal::throw_bad_optional_access()

So, until llvm/libstdc++ issue is fixed this won't work.

PS: This could actually work with libc++, but I didn't explore this possibility. Or with gcc.

Username404-59 commented 8 months ago

This may be fixed in the latest release of this repo due to this workaround

PF4Public commented 8 months ago

@Username404-59 Unfortunately there are other incompatibilities between libstdc++ and libc, see #295