Skip to content

scarthgap imx8mp chromium-ozone-wayland 138 fails #943

Open

Description

@Marco-Ct

Hello everyone,

Thank you for your amazing work.

I have problems building or to be more specific to link chromium-ozone-wayland 138..

I use the following commits/hashes:

meta-browser: 168d284 (HEAD -> scarthgap, origin/scarthgap) nodejs-oe-cache-native: Remove use of UNPACKDIR
meta-lts-mixins: 96deb45 (HEAD) rust: backport cstring-merging test fix for PowerPC targets
meta-clang: 7659681 (HEAD) Revert "recipes: Update to match OE-Core virtual/cross-* changes"
meta-openembedded: 491671faee (HEAD) proftpd: Fix CVE-2024-57392

After hours of compilation it fails at the linking stage with this error:

| FAILED: chrome
| "python3" "../../build/toolchain/gcc_link_wrapper.py" --output="./chrome" -- aarch64-ct-linux-clang++ -target aarch64-ct-linux  -march=armv8-a+crypto  -mlittle-endian --dyld-prefix=/usr -Qunused-arguments -fstack-protector-strong  -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/home/marco/work/yocto/build/tmp/work/armv8a-mx8mp-ct-linux/chromium-ozone-wayland/138.0.7204.157/recipe-sysroot -Wl,--version-script=../../build/linux/chrome.map -fuse-ld=lld -Wl,--fatal-warnings -Wl,--build-id=sha1 -fPIC -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,--icf=all -Wl,--color-diagnostics -Wl,-mllvm,-instcombine-lower-dbg-declare=0 -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 -Wl,-mllvm,-inlinehint-threshold=360 -fwhole-program-vtables -Wl,--undefined-version -Wl,--no-call-graph-profile-sort -Wl,-mllvm,-enable-machine-outliner=never -Wl,-O2 -Wl,--gc-sections -Wl,-z,defs -Wl,--as-needed -nostdlib++ -rdynamic -pie -Wl,--disable-new-dtags -Wl,--lto-O2 prebuilt_rustc_sysroot/lib/rustlib/aarch64-ct-linux-gnu/lib/libstd.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-ct-linux-gnu/lib/liballoc.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-ct-linux-gnu/lib/libcfg_if.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-ct-linux-gnu/lib/libcompiler_builtins.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-ct-linux-gnu/lib/libcore.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-ct-linux-gnu/lib/libgetopts.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-ct-linux-gnu/lib/libhashbrown.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-ct-linux-gnu/lib/libpanic_abort.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-ct-linux-gnu/lib/libpanic_unwind.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-ct-linux-gnu/lib/librustc_demangle.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-ct-linux-gnu/lib/libstd_detect.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-ct-linux-gnu/lib/libtest.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-ct-linux-gnu/lib/libunicode_width.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-ct-linux-gnu/lib/libunwind.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-ct-linux-gnu/lib/libaddr2line.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-ct-linux-gnu/lib/libadler2.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-ct-linux-gnu/lib/libgimli.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-ct-linux-gnu/lib/liblibc.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-ct-linux-gnu/lib/libmemchr.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-ct-linux-gnu/lib/libminiz_oxide.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-ct-linux-gnu/lib/libobject.rlib -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed   -fmacro-prefix-map=/home/marco/work/yocto/build/tmp/work/armv8a-mx8mp-ct-linux/chromium-ozone-wayland/138.0.7204.157/chromium-138.0.7204.157=/usr/src/debug/chromium-ozone-wayland/138.0.7204.157  -fdebug-prefix-map=/home/marco/work/yocto/build/tmp/work/armv8a-mx8mp-ct-linux/chromium-ozone-wayland/138.0.7204.157/chromium-138.0.7204.157=/usr/src/debug/chromium-ozone-wayland/138.0.7204.157  -fmacro-prefix-map=/home/marco/work/yocto/build/tmp/work/armv8a-mx8mp-ct-linux/chromium-ozone-wayland/138.0.7204.157/chromium-138.0.7204.157/out/Release=/usr/src/debug/chromium-ozone-wayland/138.0.7204.157  -fdebug-prefix-map=/home/marco/work/yocto/build/tmp/work/armv8a-mx8mp-ct-linux/chromium-ozone-wayland/138.0.7204.157/chromium-138.0.7204.157/out/Release=/usr/src/debug/chromium-ozone-wayland/138.0.7204.157  -fdebug-prefix-map=/home/marco/work/yocto/build/tmp/work/armv8a-mx8mp-ct-linux/chromium-ozone-wayland/138.0.7204.157/recipe-sysroot=  -fmacro-prefix-map=/home/marco/work/yocto/build/tmp/work/armv8a-mx8mp-ct-linux/chromium-ozone-wayland/138.0.7204.157/recipe-sysroot=  -fdebug-prefix-map=/home/marco/work/yocto/build/tmp/work/armv8a-mx8mp-ct-linux/chromium-ozone-wayland/138.0.7204.157/recipe-sysroot-native=  -Wl,-z,relro,-z,now  -stdlib=libc++ --target=aarch64-ct-linux -o "./chrome" -Wl,--start-group @"./chrome.rsp" -Wl,--end-group   /home/marco/work/yocto/build/tmp/work/armv8a-mx8mp-ct-linux/chromium-ozone-wayland/138.0.7204.157/recipe-sysroot-native/usr/lib/clang/latest/lib/linux/libclang_rt.builtins-aarch64.a -ldl -lpthread -lrt -lglib-2.0 -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 -lnspr4 -lnss3 -lnssutil3 -lplc4 -lplds4 -lsmime3 -lsoftokn3 -ldbus-1 -lgio-2.0 -latk-1.0 -latk-bridge-2.0 -latomic -lresolv -lexpat -ljpeg -luuid -lxkbcommon -latspi -lpci -lffi -lgbm -lcairo -lharfbuzz -lpango-1.0 -lpangocairo-1.0 -ludev -lasound -lFLAC -lm -lz -lEGL -lGLESv2 -lxml2 -lxslt -Wl,--start-group obj/third_party/rust/cxx/v1/lib/libcxx_lib.rlib obj/third_party/rust/foldhash/v0_1/lib/libfoldhash_lib.rlib obj/build/rust/allocator/libbuild_srust_sallocator_callocator.rlib obj/build/rust/allocator/liballoc_error_handler_impl_ffi.rlib obj/build/rust/allocator/liballocator_impls_ffi.rlib obj/base/libbase_crust_ulogger.rlib obj/base/libbase_clogging_ulog_useverity_ubindgen.rlib obj/third_party/rust/log/v0_4/lib/liblog_lib.rlib obj/build/rust/chromium_prelude/libchromium.rlib obj/third_party/rust/serde_json_lenient/v0_2/wrapper/libthird_uparty_srust_sserde_ujson_ulenient_sv0_u2_swrapper_cwrapper.rlib obj/third_party/rust/serde/v1/lib/libserde_lib.rlib obj/third_party/rust/serde_json_lenient/v0_2/lib/libserde_json_lenient_lib.rlib obj/third_party/rust/itoa/v1/lib/libitoa_lib.rlib obj/third_party/rust/memchr/v2/lib/libmemchr_lib.rlib obj/third_party/rust/ryu/v1/lib/libryu_lib.rlib obj/skia/libskia_cbridge_urust_uside.rlib obj/third_party/rust/font_types/v0_8/lib/libfont_types_lib.rlib obj/third_party/rust/bytemuck/v1/lib/libbytemuck_lib.rlib obj/third_party/rust/read_fonts/v0_27/lib/libread_fonts_lib.rlib obj/third_party/rust/skrifa/v0_29/lib/libskrifa_lib.rlib obj/skia/libskia_crust_upng_uffi.rlib obj/third_party/rust/png/v0_18/lib/libpng_lib.rlib obj/third_party/rust/bitflags/v2/lib/libbitflags_lib.rlib obj/third_party/rust/crc32fast/v1/lib/libcrc32fast_lib.rlib obj/third_party/rust/cfg_if/v1/lib/libcfg_if_lib.rlib obj/third_party/rust/fdeflate/v0_3/lib/libfdeflate_lib.rlib obj/third_party/rust/simd_adler32/v0_3/lib/libsimd_adler32_lib.rlib obj/third_party/rust/flate2/v1/lib/libflate2_lib.rlib obj/third_party/rust/miniz_oxide/v0_8/lib/libminiz_oxide_lib.rlib obj/third_party/rust/adler2/v2/lib/libadler2_lib.rlib obj/third_party/blink/common/rust_crash/libthird_uparty_sblink_scommon_srust_ucrash_crs.rlib obj/third_party/rust/temporal_capi/v0_0/lib/libtemporal_capi_lib.rlib obj/third_party/rust/diplomat_runtime/v0_11/lib/libdiplomat_runtime_lib.rlib obj/third_party/rust/icu_calendar/v2/lib/libicu_calendar_lib.rlib obj/third_party/rust/calendrical_calculations/v0_2/lib/libcalendrical_calculations_lib.rlib obj/third_party/rust/core_maths/v0_1/lib/libcore_maths_lib.rlib obj/third_party/rust/libm/v0_2/lib/liblibm_lib.rlib obj/third_party/rust/icu_calendar_data/v2/lib/libicu_calendar_data_lib.rlib obj/third_party/rust/icu_locale/v2/lib/libicu_locale_lib.rlib obj/third_party/rust/icu_collections/v2/lib/libicu_collections_lib.rlib obj/third_party/rust/potential_utf/v0_1/lib/libpotential_utf_lib.rlib obj/third_party/rust/zerovec/v0_11/lib/libzerovec_lib.rlib obj/third_party/rust/yoke/v0_8/lib/libyoke_lib.rlib obj/third_party/rust/stable_deref_trait/v1/lib/libstable_deref_trait_lib.rlib obj/third_party/rust/zerofrom/v0_1/lib/libzerofrom_lib.rlib obj/third_party/rust/icu_locale_core/v2/lib/libicu_locale_core_lib.rlib obj/third_party/rust/litemap/v0_8/lib/liblitemap_lib.rlib obj/third_party/rust/tinystr/v0_8/lib/libtinystr_lib.rlib obj/third_party/rust/writeable/v0_6/lib/libwriteable_lib.rlib obj/third_party/rust/either/v1/lib/libeither_lib.rlib obj/third_party/rust/icu_locale_data/v2/lib/libicu_locale_data_lib.rlib obj/third_party/rust/icu_provider/v2/lib/libicu_provider_lib.rlib obj/third_party/rust/zerotrie/v0_2/lib/libzerotrie_lib.rlib obj/third_party/rust/num_traits/v0_2/lib/libnum_traits_lib.rlib obj/third_party/rust/temporal_rs/v0_0/lib/libtemporal_rs_lib.rlib obj/third_party/rust/ixdtf/v0_5/lib/libixdtf_lib.rlib obj/third_party/crabbyavif/libthird_uparty_scrabbyavif_ccrabbyavif.rlib obj/third_party/crabbyavif/libdav1d_sys.rlib obj/third_party/crabbyavif/liblibyuv_sys.rlib obj/third_party/rust/libc/v0_2/lib/liblibc_lib.rlib obj/third_party/rust/llguidance/v0_7/lib/libllguidance_lib.rlib obj/third_party/rust/anyhow/v1/lib/libanyhow_lib.rlib obj/third_party/rust/derivre/v0_3/lib/libderivre_lib.rlib obj/third_party/rust/hashbrown/v0_15/lib/libhashbrown_lib.rlib obj/third_party/rust/regex_syntax/v0_8/lib/libregex_syntax_lib.rlib obj/third_party/rust/strum/v0_27/lib/libstrum_lib.rlib obj/third_party/rust/indexmap/v2/lib/libindexmap_lib.rlib obj/third_party/rust/equivalent/v1/lib/libequivalent_lib.rlib obj/third_party/rust/serde_json/v1/lib/libserde_json_lib.rlib obj/third_party/rust/toktrie/v0_7/lib/libtoktrie_lib.rlib obj/components/qr_code_generator/libcomponents_sqr_ucode_ugenerator_cqr_ucode_ugenerator_uffi_uglue.rlib obj/third_party/rust/qr_code/v2/lib/libqr_code_lib.rlib -Wl,--end-group
| aarch64-ct-linux-ld.lld: error: undefined symbol: gl::NativeViewGLSurfaceEGL::NativeViewGLSurfaceEGL(gl::GLDisplayEGL*, void*, std::__Cr::unique_ptr<gfx::VSyncProvider, std::__Cr::default_delete<gfx::VSyncProvider>>)
| >>> referenced by gl_surface_wayland.cc:35 (../../ui/ozone/platform/wayland/gpu/gl_surface_wayland.cc:35)
| >>>               obj/ui/ozone/platform/wayland/wayland/chrome.lto.wayland_surface_factory.o:(ui::(anonymous namespace)::GLOzoneEGLWayland::CreateViewGLSurface(gl::GLDisplay*, unsigned int))
| aarch64-ct-linux-clang++: error: linker command failed with exit code 1 (use -v to see invocation)
| ninja: build stopped: subcommand failed.
| WARNING: exit code 1 from a shell command.
ERROR: Task (/home/marco/work/yocto/build/../layers/meta-browser/meta-chromium/recipes-browser/chromium/chromium-ozone-wayland_138.0.7204.157.bb:do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 3901 tasks of which 3885 didn't need to be rerun and 1 failed.
NOTE: Writing buildhistory
NOTE: Writing buildhistory took: 5 seconds

Summary: 1 task failed:
  /home/marco/work/yocto/build/../layers/meta-browser/meta-chromium/recipes-browser/chromium/chromium-ozone-wayland_138.0.7204.157.bb:do_compile
    log: /home/marco/work/yocto/build/tmp/work/armv8a-mx8mp-ct-linux/chromium-ozone-wayland/138.0.7204.157/temp/log.do_compile.1770995
Summary: There were 2 WARNING messages.
Summary: There was 1 ERROR message, returning a non-zero exit code.

Any help or hints would be appreciated!
If anyone know how to attache the complete log ( 337MB ) let me know as well.

Greetings
Marco

Activity

  1. fabioestevam commented on Nov 19, 2025

    @fabioestevam

    Hi @Marco-Ct

    I am also trying to build chromium for i.MX8MP with scarthgap.

    My error is different, though:

    ERROR: chromium-ozone-wayland-138.0.7204.157-r0 do_prepare_recipe_sysroot: The file /usr/include/llvm-c/lto.h is installed by both llvm-native and clang-native, aborting

    Does anyone have any ideas?

    Thanks

    @otavio FYI

  2. san-skov-dk commented on Nov 30, 2025

    @san-skov-dk

    I had experience that the host build system has a huge impact on successful
    For example I can not build the nodejs-native 22, if I am not using redhat el 10
    if using the Redhat el 9 I need to use the Redhat toolchains for using a never the gcc

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions