Summary: | www-client/chromium-122.0.6261.18: ld.lld: error: inconsistent LTO Unit splitting (recompile with -fsplit-lto-unit) | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Steffen Hau <steffen> |
Component: | Current packages | Assignee: | Chromium Project <chromium> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | kangie, steffen |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
chromium-122.0.6261.18-build.log part 1
chromium-122.0.6261.18-build.log part 2 |
Description
Steffen Hau
2024-02-05 18:37:47 UTC
Unfortunately the xz compressed build.log is to big (1356 kb). Any alternative to upload it? (In reply to Steffen Hau from comment #1) > Unfortunately the xz compressed build.log is to big (1356 kb). Any > alternative to upload it? If you try ansifilter it, then xz -9e, does that help? If not, try split. This might be related to the Rust nightly stuff we patch out. One of the flags sounded like this, I think (sorry, can't check rn). Created attachment 884466 [details]
chromium-122.0.6261.18-build.log part 1
Created attachment 884467 [details]
chromium-122.0.6261.18-build.log part 2
ansifilter + xz -9e wasn't enough, sadly, so I splitted the .xz with split -b 1000. www-client/chromium-122.0.6261.29 shows the same error: FAILED: v8_context_snapshot_generator "python3.11" "../../build/toolchain/gcc_link_wrapper.py" --output="./v8_context_snapshot_generator" -- x86_64-pc-linux-gnu-clang++ -fuse-ld=lld -Wl,--build-id=sha1 -fPIC -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,--icf=all -Wl,--color-diagnostics -Wl,--thinlto-cache-dir=thinlto-cache -Wl,--thinlto-cache-policy=cache_size=10\%:cache_size_bytes=40g:cache_size_files=100000 -flto=thin -Wl,--thinlto-jobs=all -Wl,-mllvm,-import-instr-limit=30 -Wl,-mllvm,-disable-auto-upgrade-debug-info -fwhole-program-vtables -Wl,--undefined-version -Wl,--no-call-graph-profile-sort -no-canonical-prefixes -Wl,-z,defs -Wl,--as-needed -nostdlib++ -Wl,--lto-O0 -rdynamic -pie -Wl,--disable-new-dtags -Wl,--icf=none prebuilt_rustc_sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd.rlib prebuilt_rustc_sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc.rlib prebuilt_rustc_sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if.rlib prebuilt_rustc_sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins.rlib prebuilt_rustc_sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore.rlib prebuilt_rustc_sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgetopts.rlib prebuilt_rustc_sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown.rlib prebuilt_rustc_sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc.rlib prebuilt_rustc_sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_abort.rlib prebuilt_rustc_sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind.rlib prebuilt_rustc_sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle.rlib prebuilt_rustc_sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect.rlib prebuilt_rustc_sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest.rlib prebuilt_rustc_sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunicode_width.rlib prebuilt_rustc_sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind.rlib prebuilt_rustc_sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line.rlib prebuilt_rustc_sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler.rlib prebuilt_rustc_sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli.rlib prebuilt_rustc_sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr.rlib prebuilt_rustc_sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide.rlib prebuilt_rustc_sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject.rlib -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,--gc-sections -Wl,--undefined-version -o "./v8_context_snapshot_generator" -Wl,--start-group @"./v8_context_snapshot_generator.rsp" -Wl,--end-group -ldl -lpthread -lrt -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 -lglib-2.0 -licui18n -licuuc -licudata -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4 -ldbus-1 -latomic -lz -lresolv -lgio-2.0 -lzstd -ljpeg -lpng16 -lxml2 -lxslt -lexpat -lwebp -lwebpdemux -lwebpmux -lfreetype -lfontconfig -lharfbuzz-subset -lharfbuzz -lopenh264 -lm -lgbm -lEGL -ldrm -lxkbcommon -lpci -lffi -lpangocairo-1.0 -lpango-1.0 -lcairo -lasound -lpulse -lFLAC -latk-1.0 -latk-bridge-2.0 -latspi obj/third_party/rust/cxx/v1/lib/libcxx_lib.rlib obj/skia/libskia_cbridge_urust_uside.rlib obj/third_party/rust/font_types/v0_4/lib/libfont_types_lib.rlib obj/third_party/rust/read_fonts/v0_15/lib/libread_fonts_lib.rlib obj/third_party/rust/skrifa/v0_15/lib/libskrifa_lib.rlib obj/build/rust/chromium_prelude/libchromium.rlib obj/third_party/blink/common/rust_crash/libthird_uparty_sblink_scommon_srust_ucrash_crs.rlib ld.lld: error: inconsistent LTO Unit splitting (recompile with -fsplit-lto-unit) x86_64-pc-linux-gnu-clang++: error: linker command failed with exit code 1 (use -v to see invocation) I successfully merged chromium with use lto enabled. I have set -flto=auto in my CFLAGS/CXXFLAGS in make.conf, this lead to compiler invocations like "clang++ ... -flto=thin .... -flo=auto". I checked what the final options are by using -### and it came out that the last -flto wins. -flto=auto in clang will be set to -flto=full and that lead to several issues like this and bug906548. |