Skip to content

Conversation

caneraltinbasak
Copy link
Contributor

Chromium 138+ uses its bundled libc++ and compiler-rt. To ensure the build system uses these and does not fall back to system-provided runtime libraries, explicitly pass the target triple and disable system stdlib++.

This avoids linker errors caused by missing crtbeginS.o, crtendS.o, and libgcc when using Clang with a minimal sysroot.

Release Notes:
https://chromereleases.googleblog.com/2025/07/stable-channel-update-for-desktop_15.html

Build and patch changes:
Added patches:

0011-fix-check_version-Only-compare-node.js-major-version.patch Updated patches:

0009-Adjust-the-Rust-build-to-our-needs.patch
Removed patches:

0011-Disable-crabbyavif-to-fix-build-errors.patch
0012-Revert-Allow-and-use-std-hardware_destructive_interf.patch 0013-Revert-Set-Rust-symbol-visibility-to-hidden-when-C-s.patch 0014-pdfium-Fix-missing-PDFiumAPIStringBufferAdapter-temp.patch 0015-Revert-Connect-the-Rust-log-crate-to-the-base-loggin.patch License changes:
Added licenses:

third_party/compiler-rt/src/LICENSE.TXT
third_party/libtess2/LICENSE
third_party/llvm-libc/src/LICENSE.TXT
third_party/net/third_party/mozilla_security_manager/LICENSE Removed licenses:

third_party/accessibility-audit/LICENSE
third_party/io_grpc_grpc_api/LICENSE
third_party/libavifinfo/LICENSE
Updated licenses:

third_party/android_deps/libs/com_google_android_gms_play_services_auth/LICENSE → third_party/android_deps/autorolled/committed/libs/com_google_android_gms_play_services_auth/LICENSE third_party/android_deps/libs/com_google_android_gms_play_services_auth_api_phone/LICENSE → third_party/android_deps/autorolled/committed/libs/com_google_android_gms_play_services_auth_api_phone/LICENSE third_party/android_deps/libs/com_google_android_gms_play_services_auth_base/LICENSE → third_party/android_deps/autorolled/committed/libs/com_google_android_gms_play_services_auth_base/LICENSE third_party/android_deps/libs/com_google_android_gms_play_services_auth_blockstore/LICENSE → third_party/android_deps/autorolled/committed/libs/com_google_android_gms_play_services_auth_blockstore/LICENSE third_party/android_deps/libs/com_google_android_gms_play_services_fido/LICENSE → third_party/android_deps/autorolled/committed/libs/com_google_android_gms_play_services_fido/LICENSE third_party/android_deps/libs/com_google_android_libraries_identity_googleid_googleid/LICENSE → third_party/android_deps/autorolled/committed/libs/com_google_android_libraries_identity_googleid_googleid/LICENSE third_party/expat/src/expat/COPYING
third_party/libjpeg_turbo/LICENSE
Test-built
chromium-ozone-wayland

master, clang, MACHINE=qemux86-64
chromium-x11

master, clang, MACHINE=qemux86-64, qemuarm, qemuarm64 Repo hashes (from meta-chromium-test)
meta-oe:
commit: "a8dfd10600035a799abae03178fc7054582ea43d" poky:
commit: "243d54fd466f5f852cc0fdcce57997918ce35f32" meta-clang:
commit: "7a2f83360920b10214e2659e17a4b9cba2d0435b"

Chromium 138+ uses its bundled libc++ and compiler-rt. To ensure the build
system uses these and does not fall back to system-provided runtime libraries,
explicitly pass the target triple and disable system stdlib++.

This avoids linker errors caused by missing crtbeginS.o, crtendS.o, and libgcc
when using Clang with a minimal sysroot.

Release Notes:
https://chromereleases.googleblog.com/2025/07/stable-channel-update-for-desktop_15.html

Build and patch changes:
Added patches:

0011-fix-check_version-Only-compare-node.js-major-version.patch
Updated patches:

0009-Adjust-the-Rust-build-to-our-needs.patch
Removed patches:

0011-Disable-crabbyavif-to-fix-build-errors.patch
0012-Revert-Allow-and-use-std-hardware_destructive_interf.patch
0013-Revert-Set-Rust-symbol-visibility-to-hidden-when-C-s.patch
0014-pdfium-Fix-missing-PDFiumAPIStringBufferAdapter-temp.patch
0015-Revert-Connect-the-Rust-log-crate-to-the-base-loggin.patch
License changes:
Added licenses:

third_party/compiler-rt/src/LICENSE.TXT
third_party/libtess2/LICENSE
third_party/llvm-libc/src/LICENSE.TXT
third_party/net/third_party/mozilla_security_manager/LICENSE
Removed licenses:

third_party/accessibility-audit/LICENSE
third_party/io_grpc_grpc_api/LICENSE
third_party/libavifinfo/LICENSE
Updated licenses:

third_party/android_deps/libs/com_google_android_gms_play_services_auth/LICENSE → third_party/android_deps/autorolled/committed/libs/com_google_android_gms_play_services_auth/LICENSE
third_party/android_deps/libs/com_google_android_gms_play_services_auth_api_phone/LICENSE → third_party/android_deps/autorolled/committed/libs/com_google_android_gms_play_services_auth_api_phone/LICENSE
third_party/android_deps/libs/com_google_android_gms_play_services_auth_base/LICENSE → third_party/android_deps/autorolled/committed/libs/com_google_android_gms_play_services_auth_base/LICENSE
third_party/android_deps/libs/com_google_android_gms_play_services_auth_blockstore/LICENSE → third_party/android_deps/autorolled/committed/libs/com_google_android_gms_play_services_auth_blockstore/LICENSE
third_party/android_deps/libs/com_google_android_gms_play_services_fido/LICENSE → third_party/android_deps/autorolled/committed/libs/com_google_android_gms_play_services_fido/LICENSE
third_party/android_deps/libs/com_google_android_libraries_identity_googleid_googleid/LICENSE →
third_party/android_deps/autorolled/committed/libs/com_google_android_libraries_identity_googleid_googleid/LICENSE
third_party/expat/src/expat/COPYING
third_party/libjpeg_turbo/LICENSE
Test-built
chromium-ozone-wayland

master, clang, MACHINE=qemux86-64
chromium-x11

master, clang, MACHINE=qemux86-64, qemuarm, qemuarm64
Repo hashes (from meta-chromium-test)
meta-oe:
commit: "a8dfd10600035a799abae03178fc7054582ea43d"
poky:
commit: "243d54fd466f5f852cc0fdcce57997918ce35f32"
meta-clang:
commit: "7a2f83360920b10214e2659e17a4b9cba2d0435b"
@caneraltinbasak
Copy link
Contributor Author

Verified for x11, ozone for arm, aarch64 and x86-64:
https://github.com/brightsign/meta-browser/actions/runs/17671009313

@zboszor
Copy link
Contributor

zboszor commented Sep 15, 2025

Build error from today, after oe-core switched to CLANG 21.1.0:

Log data follows:
| DEBUG: Executing shell function do_copy_clang_library
| cp: cannot create regular file '/mnt/zozo/yocto-5.3-arm/tmp-sicom/work/corei7-64-oe-linux/chromium-x11/138.0.7204.157/recipe-sysroot-native/usr/lib/clang/latest/lib/linux/libclang_rt.builtins-x86_64.a': No such file or directory
| WARNING: /mnt/zozo/yocto-5.3-arm/tmp-sicom/work/corei7-64-oe-linux/chromium-x11/138.0.7204.157/temp/run.do_copy_clang_library.1112517:157 exit 1 from 'cp "$lib_file" "/mnt/zozo/yocto-5.3-arm/tmp-sicom/work/corei7-64-oe-linux/chromium-x11/138.0.7204.157/recipe-sysroot-native/usr/lib/clang/latest/${stripped_lib_file}"'
| WARNING: Backtrace (BB generated script):
| 	#1: do_copy_clang_library, /mnt/zozo/yocto-5.3-arm/tmp-sicom/work/corei7-64-oe-linux/chromium-x11/138.0.7204.157/temp/run.do_copy_clang_library.1112517, line 157
| 	#2: main, /mnt/zozo/yocto-5.3-arm/tmp-sicom/work/corei7-64-oe-linux/chromium-x11/138.0.7204.157/temp/run.do_copy_clang_library.1112517, line 160

Please, fix it. FWIW, I use meta-intel and MACHINE="intel-corei7-64".

@caneraltinbasak
Copy link
Contributor Author

Can you please try your target machine compile with following hashes checked out:

meta-oe: "a8dfd10600035a799abae03178fc7054582ea43d"
poky: "243d54fd466f5f852cc0fdcce57997918ce35f32"
meta-clang: "7a2f83360920b10214e2659e17a4b9cba2d0435b"

I've used the hashes Firefox was using for testing Whinlatter branch, they are 3 months old. I would like to land my changes as they are and do adaptations for the latest yocto release as a follow up change.

@OldManYellsAtCloud
Copy link
Collaborator

I think until than it should be kept as Walnascar-compatible only maybe. (If I remember well, those hashes are essentially the last Walnascar-compatible revisions after the actual Walnascar release, just before some breaking changes were introduced. FF has switched to the tip of master since then, though FF is a much smaller beast than Chromium)

@caneraltinbasak
Copy link
Contributor Author

I think until than it should be kept as Walnascar-compatible only maybe. (If I remember well, those hashes are essentially the last Walnascar-compatible revisions after the actual Walnascar release, just before some breaking changes were introduced. FF has switched to the tip of master since then, though FF is a much smaller beast than Chromium)

That is fine. I can target my changes to walnascar branch, if a maintainer creates a walnascar branch.

@caneraltinbasak
Copy link
Contributor Author

meta-oe: "a8dfd10600035a799abae03178fc7054582ea43d" poky: "243d54fd466f5f852cc0fdcce57997918ce35f32" meta-clang: "7a2f83360920b10214e2659e17a4b9cba2d0435b"

I've used the hashes Firefox was using for testing Whinlatter branch, they are 3 months old. I would like to land my changes as they are and do adaptations for the latest yocto release as a follow up change.

Sorry, I have to correct myself here. I checked again where these hashes are coming from. It is not Firefox, these are tip of meta-oe, poky and meta-clang as of 1st of July when I first started upgrading meta-chromium to Chromium138 and poky had layer name as whinlatter at the time.

I had vacation and other work interruptions in between...

@zboszor
Copy link
Contributor

zboszor commented Sep 16, 2025

meta-oe: "a8dfd10600035a799abae03178fc7054582ea43d" poky: "243d54fd466f5f852cc0fdcce57997918ce35f32" meta-clang: "7a2f83360920b10214e2659e17a4b9cba2d0435b"
I've used the hashes Firefox was using for testing Whinlatter branch, they are 3 months old. I would like to land my changes as they are and do adaptations for the latest yocto release as a follow up change.

Sorry, I have to correct myself here. I checked again where these hashes are coming from. It is not Firefox, these are tip of meta-oe, poky and meta-clang as of 1st of July when I first started upgrading meta-chromium to Chromium138 and poky had layer name as whinlatter at the time.

I had no problems at around the beginning of summer either, but since then a lot of breaking changes were added to oe-core for clang and related recipes.

@adalessandro
Copy link
Contributor

@caneraltinbasak pushed fixes on brightsign#15 , please review and merge.

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

Successfully merging this pull request may close these issues.

4 participants