Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chromium: Update to 132.0.6834.83 #867

Merged

Conversation

adalessandro
Copy link
Contributor

@adalessandro adalessandro commented Jan 22, 2025

chromium: Update to 132.0.6834.83

Release notes:
https://chromereleases.googleblog.com/2025/01/stable-channel-update-for-desktop_14.html

Build and patch changes:

Build options:

Added patches:

  • 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

Updated patches:

  • 0004-Delete-compiler-options-not-available-in-release-ver.patch
  • Rebased remaining patches.

License changes:

Added licenses:

  • third_party/android_deps/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/libs/com_google_android_libraries_identity_googleid_googleid/LICENSE
  • third_party/libtess2/LICENSE
  • third_party/llvm-libc/src/LICENSE.TXT

Removed licenses:

  • third_party/libavifinfo/LICENSE

Updated licenses:

  • third_party/android_deps/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/libs/com_google_android_gms_play_services_auth_base/LICENSE

Test-built (big thanks to @SoumyaWind):

  • chromium-ozone-wayland

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

    • master, clang, MACHINE=qemux86-64, qemuarm, qemuarm64, raspberrypi4-64

@adalessandro
Copy link
Contributor Author

@MaxIhlenfeldt here's the initial PR for chromium 132 release. Please review :-)

Note that there's a TODO section, where I might need your help if possible.

@adalessandro adalessandro marked this pull request as draft January 22, 2025 13:15
Copy link
Collaborator

@MaxIhlenfeldt MaxIhlenfeldt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I haven't reviewed everything yet, but I've left a few comments already.

Regarding the mentioned TODOs:

  • you can use this repo's generate_license_list.py script to generate the updated license hashes.
  • Why do we need to set "RUST_CHANNEL = "nightly"? And where would one need to set that?

@adalessandro adalessandro force-pushed the wip/adalessandro/update-stable-132 branch from f960f69 to f4a919b Compare January 28, 2025 19:48
@san-skov-dk
Copy link

san-skov-dk commented Jan 29, 2025

I am trying to build for the i.MX6 cpu and get the following.

80/54278] arm-pmc-linux-gnueabi-clang++ -target arm-pmc-linux-gnueabi -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a9 -mlittle-endian --dyld-prefix=/usr -Qunused-arguments -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wforma
[81/54278] python3 ../../build/rust/run_bindgen.py --exe ../../third_party/rust-toolchain/bin/bindgen --header ../../base/logging/log_severity.h --depfile obj/base/logging_log_severity_bindgen_generator.d --output gen/base/logging_log_se
FAILED: gen/base/logging_log_severity_bindgen_generator/bindings.rs
python3 ../../build/rust/run_bindgen.py --exe ../../third_party/rust-toolchain/bin/bindgen --header ../../base/logging/log_severity.h --depfile obj/base/logging_log_severity_bindgen_generator.d --output gen/base/logging_log_severity_bind
clang diag: warning: argument unused during compilation: '-mthumb' [-Wunused-command-line-argument]
panicked at bindgen-cli/main.rs:52:36:
Unable to generate bindings: ClangDiagnostic("error: unsupported option '-mfpu=' for target 'x86_64-unknown-linux-gnu'\n")
Traceback (most recent call last):
File "build/tmp/work/cortexa9t2hf-neon-pmc-linux-gnueabi/chromium-ozone-wayland/132.0.6834.83/chromium-132.0.6834.83/out/Release/../../build/rust/run_bindgen.py", line 118, in
main()
File "build/tmp/work/cortexa9t2hf-neon-pmc-linux-gnueabi/chromium-ozone-wayland/132.0.6834.83/chromium-132.0.6834.83/out/Release/../../build/rust/run_bindgen.py", line 106, in main
subprocess.check_call([args.exe, *genargs], env=env)
File "build/tmp/work/cortexa9t2hf-neon-pmc-linux-gnueabi/chromium-ozone-wayland/132.0.6834.83/recipe-sysroot-native/usr/lib/python3.12/subprocess.py", line 413, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['../../third_party/rust-toolchain/bin/bindgen', '--no-layout-tests', '--enable-cxx-namespaces', '--no-rustfmt-bindings', '--rust-target', 'nightly', '--depfile', 'buil
[82/54278] python3 ../../build/rust/run_bindgen.py --exe ../../third_party/rust-toolchain/bin/bindgen --header ../../base/logging/rust_log_integration.h --depfile obj/base/logging_rust_log_integration_bindgen_generator.d --output gen/bas
FAILED: gen/base/logging_rust_log_integration_bindgen_generator/bindings.rs
python3 ../../build/rust/run_bindgen.py --exe ../../third_party/rust-toolchain/bin/bindgen --header ../../base/logging/rust_log_integration.h --depfile obj/base/logging_rust_log_integration_bindgen_generator.d --output gen/base/logging_r
clang diag: warning: argument unused during compilation: '-mthumb' [-Wunused-command-line-argument]
panicked at bindgen-cli/main.rs:52:36:
Unable to generate bindings: ClangDiagnostic("error: unsupported option '-mfpu=' for target 'x86_64-unknown-linux-gnu'\n")
Traceback (most recent call last):
File "build/tmp/work/cortexa9t2hf-neon-pmc-linux-gnueabi/chromium-ozone-wayland/132.0.6834.83/chromium-132.0.6834.83/out/Release/../../build/rust/run_bindgen.py", line 118, in
main()
File "build/tmp/work/cortexa9t2hf-neon-pmc-linux-gnueabi/chromium-ozone-wayland/132.0.6834.83/chromium-132.0.6834.83/out/Release/../../build/rust/run_bindgen.py", line 106, in main
subprocess.check_call([args.exe, *genargs], env=env)
File "build/tmp/work/cortexa9t2hf-neon-pmc-linux-gnueabi/chromium-ozone-wayland/132.0.6834.83/recipe-sysroot-native/usr/lib/python3.12/subprocess.py", line 413, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['../../third_party/rust-toolchain/bin/bindgen', '--no-layout-tests', '--enable-cxx-namespaces', '--no-rustfmt-bindings', '--rust-target', 'nightly', '--depfile', '/thick_disk/san/skov-sdk-v90/buil
[83/54278] python3 ../../mojo/public/tools/mojom/mojom_parser.py --input-root ../.. --input-root gen --output-root gen --mojom-file-list=gen/cc/mojom/element_id__parser.rsp --check-imports gen/cc/mojom/element_id.build_metadata --enable-

@adalessandro
Copy link
Contributor Author

I am trying to build for the i.MX6 cpu and get the following.

80/54278] arm-pmc-linux-gnueabi-clang++ -target arm-pmc-linux-gnueabi -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a9 -mlittle-endian --dyld-prefix=/usr -Qunused-arguments -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wforma [81/54278] python3 ../../build/rust/run_bindgen.py --exe ../../third_party/rust-toolchain/bin/bindgen --header ../../base/logging/log_severity.h --depfile obj/base/logging_log_severity_bindgen_generator.d --output gen/base/logging_log_se FAILED: gen/base/logging_log_severity_bindgen_generator/bindings.rs python3 ../../build/rust/run_bindgen.py --exe ../../third_party/rust-toolchain/bin/bindgen --header ../../base/logging/log_severity.h --depfile obj/base/logging_log_severity_bindgen_generator.d --output gen/base/logging_log_severity_bind clang diag: warning: argument unused during compilation: '-mthumb' [-Wunused-command-line-argument] panicked at bindgen-cli/main.rs:52:36: Unable to generate bindings: ClangDiagnostic("error: unsupported option '-mfpu=' for target 'x86_64-unknown-linux-gnu'\n") Traceback (most recent call last): File "build/tmp/work/cortexa9t2hf-neon-pmc-linux-gnueabi/chromium-ozone-wayland/132.0.6834.83/chromium-132.0.6834.83/out/Release/../../build/rust/run_bindgen.py", line 118, in main() File "build/tmp/work/cortexa9t2hf-neon-pmc-linux-gnueabi/chromium-ozone-wayland/132.0.6834.83/chromium-132.0.6834.83/out/Release/../../build/rust/run_bindgen.py", line 106, in main subprocess.check_call([args.exe, *genargs], env=env) File "build/tmp/work/cortexa9t2hf-neon-pmc-linux-gnueabi/chromium-ozone-wayland/132.0.6834.83/recipe-sysroot-native/usr/lib/python3.12/subprocess.py", line 413, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['../../third_party/rust-toolchain/bin/bindgen', '--no-layout-tests', '--enable-cxx-namespaces', '--no-rustfmt-bindings', '--rust-target', 'nightly', '--depfile', 'buil [82/54278] python3 ../../build/rust/run_bindgen.py --exe ../../third_party/rust-toolchain/bin/bindgen --header ../../base/logging/rust_log_integration.h --depfile obj/base/logging_rust_log_integration_bindgen_generator.d --output gen/bas FAILED: gen/base/logging_rust_log_integration_bindgen_generator/bindings.rs python3 ../../build/rust/run_bindgen.py --exe ../../third_party/rust-toolchain/bin/bindgen --header ../../base/logging/rust_log_integration.h --depfile obj/base/logging_rust_log_integration_bindgen_generator.d --output gen/base/logging_r clang diag: warning: argument unused during compilation: '-mthumb' [-Wunused-command-line-argument] panicked at bindgen-cli/main.rs:52:36: Unable to generate bindings: ClangDiagnostic("error: unsupported option '-mfpu=' for target 'x86_64-unknown-linux-gnu'\n") Traceback (most recent call last): File "build/tmp/work/cortexa9t2hf-neon-pmc-linux-gnueabi/chromium-ozone-wayland/132.0.6834.83/chromium-132.0.6834.83/out/Release/../../build/rust/run_bindgen.py", line 118, in main() File "build/tmp/work/cortexa9t2hf-neon-pmc-linux-gnueabi/chromium-ozone-wayland/132.0.6834.83/chromium-132.0.6834.83/out/Release/../../build/rust/run_bindgen.py", line 106, in main subprocess.check_call([args.exe, *genargs], env=env) File "build/tmp/work/cortexa9t2hf-neon-pmc-linux-gnueabi/chromium-ozone-wayland/132.0.6834.83/recipe-sysroot-native/usr/lib/python3.12/subprocess.py", line 413, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['../../third_party/rust-toolchain/bin/bindgen', '--no-layout-tests', '--enable-cxx-namespaces', '--no-rustfmt-bindings', '--rust-target', 'nightly', '--depfile', '/thick_disk/san/skov-sdk-v90/buil [83/54278] python3 ../../mojo/public/tools/mojom/mojom_parser.py --input-root ../.. --input-root gen --output-root gen --mojom-file-list=gen/cc/mojom/element_id__parser.rsp --check-imports gen/cc/mojom/element_id.build_metadata --enable-

@san-skov-dk could you please retry by pulling the latest changes from this MR?
In any case, more context on your build setup would be great for me to peek/reproduce/help with it. Thanks!

Regenerated by running `generate_license_list.py` script.

Signed-off-by: Ariel D'Alessandro <[email protected]>
This commit rebase previous patches for chromium 132.0.6834.83.

Signed-off-by: Ariel D'Alessandro <[email protected]>
A new assertion has been introduced, causing the build to fail with this
option enabled:

| ERROR at //build/config/linux/libdrm/BUILD.gn:18:3: Assertion failed.
|   assert(!is_linux, "System libdrm is not supported in linux")
|   ^-----
| System libdrm is not supported in linux
| See //ui/gfx/BUILD.gn:666:15: which caused the file to be included.
|     deps += [ "//build/config/linux/libdrm" ]

Link: https://chromium-review.googlesource.com/c/chromium/src/+/5956068
Signed-off-by: Ariel D'Alessandro <[email protected]>
@adalessandro adalessandro force-pushed the wip/adalessandro/update-stable-132 branch from f4a919b to 9e5ee27 Compare January 30, 2025 19:51
@san-skov-dk
Copy link

@san-skov-dk could you please retry by pulling the latest changes from this MR? In any case, more context on your build setup would be great for me to peek/reproduce/help with it. Thanks!

Still looking into the same issue
Here is my setup for my scarthgap build (of course meta-browser points on the pr)
The serverOS is Alma 9
DISTRO_FEATURES = "argp ext2 largefile usbgadget usbhost xattr nfs zeroconf multiarch systemd alsa opengl wayland usrmerge vulkan rauc security seccomp pam"

[submodule "meta-oe"]
path = meta-oe
url = https://git.openembedded.org/meta-openembedded
branch = scarthgap
[submodule "meta-qt5"]
path = meta-qt5
url = https://github.com/meta-qt5/meta-qt5.git
branch = scarthgap
[submodule "meta-freescale"]
path = meta-freescale
url = https://github.com/Freescale/meta-freescale.git
branch = scarthgap
[submodule "meta-java"]
path = meta-java
url = https://git.yoctoproject.org/meta-java
branch = scarthgap
[submodule "meta-ptx"]
path = meta-ptx
url = https://github.com/pengutronix/meta-ptx.git
branch = scarthgap
[submodule "meta-rauc"]
path = meta-rauc
url = https://github.com/rauc/meta-rauc.git
branch = scarthgap
[submodule "meta-clang"]
path = meta-clang
url = https://github.com/kraj/meta-clang.git
branch = scarthgap
[submodule "meta-browser"]
path = meta-browser
url = https://github.com/OSSystems/meta-browser.git
branch = scarthgap
[submodule "meta-webkit"]
path = meta-webkit
url = https://github.com/Igalia/meta-webkit.git
branch = main
[submodule "meta-security"]
path = meta-security
url = https://git.yoctoproject.org/meta-security
branch = scarthgap
[submodule "poky"]
path = poky
url = https://git.yoctoproject.org/poky
branch = scarthgap
[submodule "meta-lts-mixins"]
path = meta-lts-mixins
url = https://git.yoctoproject.org/meta-lts-mixins
branch = scarthgap/rust

If you need more info I will be happy to provide it.

@adalessandro
Copy link
Contributor Author

@san-skov-dk could you please retry by pulling the latest changes from this MR? In any case, more context on your build setup would be great for me to peek/reproduce/help with it. Thanks!

Still looking into the same issue Here is my setup for my scarthgap build (of course meta-browser points on the pr) The serverOS is Alma 9 DISTRO_FEATURES = "argp ext2 largefile usbgadget usbhost xattr nfs zeroconf multiarch systemd alsa opengl wayland usrmerge vulkan rauc security seccomp pam"

[submodule "meta-oe"] path = meta-oe url = https://git.openembedded.org/meta-openembedded branch = scarthgap [submodule "meta-qt5"] path = meta-qt5 url = https://github.com/meta-qt5/meta-qt5.git branch = scarthgap [submodule "meta-freescale"] path = meta-freescale url = https://github.com/Freescale/meta-freescale.git branch = scarthgap [submodule "meta-java"] path = meta-java url = https://git.yoctoproject.org/meta-java branch = scarthgap [submodule "meta-ptx"] path = meta-ptx url = https://github.com/pengutronix/meta-ptx.git branch = scarthgap [submodule "meta-rauc"] path = meta-rauc url = https://github.com/rauc/meta-rauc.git branch = scarthgap [submodule "meta-clang"] path = meta-clang url = https://github.com/kraj/meta-clang.git branch = scarthgap [submodule "meta-browser"] path = meta-browser url = https://github.com/OSSystems/meta-browser.git branch = scarthgap [submodule "meta-webkit"] path = meta-webkit url = https://github.com/Igalia/meta-webkit.git branch = main [submodule "meta-security"] path = meta-security url = https://git.yoctoproject.org/meta-security branch = scarthgap [submodule "poky"] path = poky url = https://git.yoctoproject.org/poky branch = scarthgap [submodule "meta-lts-mixins"] path = meta-lts-mixins url = https://git.yoctoproject.org/meta-lts-mixins branch = scarthgap/rust

If you need more info I will be happy to provide it.

I've hit the same issue cross-compilting for MACHINE=qemuarm64.

@MaxIhlenfeldt looks like it's an old issue that had been work-around previously: #827 (comment) . Sounds familiar? I'll check this out anyway.

@adalessandro
Copy link
Contributor Author

adalessandro commented Feb 3, 2025

Indeed, this is pretty similar to 0011-Disable-crabbyavif-to-fix-build-errors.patch.
The issue is related to the way bindgen is configured. To workaround this, I've reverted the
commit the connected bindgen to the rust logger.
Check commit log 26d3dd9

@san-skov-dk @MaxIhlenfeldt let me know if you get the chance to test this out :-)

@adalessandro adalessandro force-pushed the wip/adalessandro/update-stable-132 branch from 26d3dd9 to 00ee3b6 Compare February 3, 2025 20:25
@adalessandro
Copy link
Contributor Author

Indeed, this is pretty similar to 0011-Disable-crabbyavif-to-fix-build-errors.patch. The issue is related to the way bindgen is configured. To workaround this, I've reverted the commit the connected bindgen to the rust logger. Check commit log 26d3dd9

@san-skov-dk @MaxIhlenfeldt let me know if you get the chance to test this out :-)

FYI there's a pipeline running here for different targets https://gitlab.collabora.com/mediatek/aiot/bsp/manifest/-/pipelines/126047

@san-skov-dk
Copy link

san-skov-dk commented Feb 4, 2025

@san-skov-dk @MaxIhlenfeldt let me know if you get the chance to test this out :-)

It is building now :)
booth with cortexa9t2hf-neon-pmc-linux-gnueabi and cortexa53-crypto-pmc-linux

@adalessandro
Copy link
Contributor Author

@MaxIhlenfeldt could you do a full PR review?
All the parts should be there now, including license regeneration.
If necessary, of course, we can squash everything up in a single version bump commit.
Let me know if you get the chance to review this, thanks!

@adalessandro adalessandro marked this pull request as ready for review February 6, 2025 12:05
Copy link
Collaborator

@MaxIhlenfeldt MaxIhlenfeldt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the previous PRs we also had links to the changes that introduced the license changes (see e.g. #852). @rakuco do you remember why? Maybe we can drop that and just mention which licenses changed/were added/were removed.

This feature is not supported on the current clang toolchain version,
which causes build to fail with the following error:

| clang++: error: unsupported argument '--crel' to option '-Wa,'
| clang++: error: unsupported argument '--allow-experimental-crel'
  to option '-Wa,'

Signed-off-by: Ariel D'Alessandro <[email protected]>
@adalessandro adalessandro force-pushed the wip/adalessandro/update-stable-132 branch 3 times, most recently from d3c93cc to 7b49f62 Compare February 7, 2025 17:45
This reverts chromium commit ee3900fd57b3c580aefff15c64052904d81b7760.
* Change-Id: https://crrev.com/c/5966273

Fixes the following compilation error:

```
| FAILED: obj/third_party/rust/ryu/v1/lib/libryu_lib.rlib
[...]
| error: unknown unstable option: `default-visibility`
```

This patch will be dropped once Rust >= 1.83 is available, which
includes:
* rust-lang/rust#130005 [0]
* rust-lang/rust#131519 [1]

Note that currently meta-lts-mixins [2] provides the following versions:
* kirkstone: `1.80.1`
* scarthgap: `1.81.0`

[0] rust-lang/rust#130005
[1] rust-lang/rust#131519
[2] https://git.yoctoproject.org/meta-lts-mixins

Signed-off-by: Ariel D'Alessandro <[email protected]>
@adalessandro adalessandro force-pushed the wip/adalessandro/update-stable-132 branch from 7b49f62 to 1f12168 Compare February 10, 2025 16:32
@rakuco
Copy link
Collaborator

rakuco commented Feb 11, 2025

In the previous PRs we also had links to the changes that introduced the license changes (see e.g. #852). @rakuco do you remember why? Maybe we can drop that and just mention which licenses changed/were added/were removed.

I think I started doing that ages ago just to make it easier for people actually using the recipe and having to do their due diligence with Chromium's ton of license files and mixes. If it's too much work I think we shouldn't block on this.

@rakuco
Copy link
Collaborator

rakuco commented Feb 11, 2025

I wonder if @SoumyaWind would like to do some testing too?

@MaxIhlenfeldt
Copy link
Collaborator

I think I started doing that ages ago just to make it easier for people actually using the recipe and having to do their due diligence with Chromium's ton of license files and mixes. If it's too much work I think we shouldn't block on this.

Thanks for the context! I personally think the list of changed licenses should be enough. If people were relying on the links to the CLs they'll complain, and we can bring them back :)

Fix the following compilation error:

```
| ../../pdf/pdfium/pdfium_api_wrappers.cc:150:32: error: alias template
  'PDFiumAPIStringBufferAdapter' requires template arguments; argument
  deduction only allowed for class templates
|   150 |   PDFiumAPIStringBufferAdapter adapter(&name, expected_size,
|       |                                ^
| ../../pdf/pdfium/pdfium_api_string_buffer_adapter.h:173:1: note: template
  is declared here
|   173 | using PDFiumAPIStringBufferAdapter =
|       | ^
| 1 error generated.
```

This patch will be dropped once clang >= 19.1.0 is available, which
includes support for class template argument deduction (CTAD) for type
alias templates (P1814R0 [0]) (#54051 [1]).

Note that currently meta-clang [2] provides the clang version `18.1.6`.

[0] https://wg21.link/p1814r0
[1] llvm/llvm-project#54051
[2] https://github.com/kraj/meta-clang

Signed-off-by: Ariel D'Alessandro <[email protected]>
This reverts chromium commit 7ea0a5e831dd5 ("Connect the Rust log crate
to the //base logging implementation".

The above commit enabled bindgen for the Rust logger. Similar to patch
0011-Disable-crabbyavif-to-fix-build-errors.patch added in commit [0],
this fixes a build error that's most likely because the way upstream
configures bindgen makes it incompatible with our cross-architecture
builds.

```
| FAILED: gen/base/logging_rust_log_integration_bindgen_generator/bindings.rs
| [...]
| panicked at bindgen-cli/main.rs:52:36:
| Unable to generate bindings: ClangDiagnostic("error: unsupported option '-mbranch-protection=' for target 'x86_64-unknown-linux-gnu'\n")
```

[0] meta-browser commit fd347dc ("chromium: Update to 127.0.6533.99")

Signed-off-by: Ariel D'Alessandro <[email protected]>
@adalessandro adalessandro force-pushed the wip/adalessandro/update-stable-132 branch from 1f12168 to cf79385 Compare February 11, 2025 18:33
@adalessandro
Copy link
Contributor Author

I think I started doing that ages ago just to make it easier for people actually using the recipe and having to do their due diligence with Chromium's ton of license files and mixes. If it's too much work I think we shouldn't block on this.

Thanks for the context! I personally think the list of changed licenses should be enough. If people were relying on the links to the CLs they'll complain, and we can bring them back :)

@MaxIhlenfeldt shoud I squash all the commits and have a single "update" commit as 0dad36d ? Then add the respective details about patch and license changes?

@SoumyaWind
Copy link

@rakuco Sure, I'll start testing and update once I'm done.

@MaxIhlenfeldt
Copy link
Collaborator

shoud I squash all the commits and have a single "update" commit as 0dad36d ? Then add the respective details about patch and license changes?

I think it's enough if you edit the PR description to add the list of added, removed, and updated licenses (no need to link to the CLs introducing these license changes for now I'd say). Then I can let GitHub automatically squash all the commits when merging the PR.

@SoumyaWind
Copy link

I have completed testing with the latest changes for poky master. Below are the results for different configurations:

  1. chromium-x11 on qemux86-64 target: Compiled successfully without any build issues. Verified chromium version using qemux86-64 emulator
  2. chromium-x11 on qemuarm target: Encountered the following error during build -

arm-poky-linux-gnueabi-ld.lld: error: output file too large: 7086669536 bytes
arm-poky-linux-gnueabi-clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
Updated the configuration to remove the -g flag for ARM. The build was successful for qemuarm and able to verify chromium version using qemuarm emulator

  1. chromium-x11 on qemuarm64 target: Compiled successfully without build issues. Verified chromium version using qemuarm64 emulator
  2. chromium-x11 on raspberrypi4-64 target: Compiled successfully without any build issues. Verified chromium version using Raspberry Pi4.
  3. chromium-ozone-wayland on qemux86-64 target: Compiled successfully without any build issues, verified chromium version using qemux86-64 emulator

@SoumyaWind
Copy link

I have also completed testing for below configuration for poky kirkstone (with meta-lts-mixins: kirkstone/rust, meta-clang: kirkstone-clang18) with latest changes. Here are the results:

  1. chromium-x11 on qemux86-64 target: Compiled successfully without any build issues. Verified chromium version using qemux86-64 emulator
  2. chromium-x11 on qemuarm target: Compiled successfully without any build issues. Verified chromium version using qemuarm emulator
  3. chromium-x11 on qemuarm64 target: Compiled successfully without build issues. Verified chromium version using qemuarm64 emulator
  4. chromium-x11 on raspberrypi4-64 target: Compiled successfully without any build issues. Verified chromium version using Raspberry Pi4.
  5. chromium-ozone-wayland on qemux86-64 target: Compiled successfully without any build issues, verified chromium version using qemux86-64 emulator

@SoumyaWind
Copy link

For poky scarthgap (with meta-lts-mixns: scarthgap/rust), I encountered the following error during the build:

error: failed to run custom build command for pixbufloader-svg v0.0.1
...
The system library librsvg-2.0-uninstalled required by crate pixbufloader-svg was not found.
...
HINT: you may need to install a package such as librsvg-2.0-uninstalled, librsvg-2.0-uninstalled-dev, or librsvg-2.0-uninstalled-devel.

It seems like librsvg-2.0-uninstalled.pc is missing from the PKG_CONFIG_PATH. Please let me know if anyone has encountered this error or has suggestions on how to resolve it.

@adalessandro
Copy link
Contributor Author

adalessandro commented Feb 17, 2025

For poky scarthgap (with meta-lts-mixns: scarthgap/rust), I encountered the following error during the build:

error: failed to run custom build command for pixbufloader-svg v0.0.1
...
The system library librsvg-2.0-uninstalled required by crate pixbufloader-svg was not found.
...
HINT: you may need to install a package such as librsvg-2.0-uninstalled, librsvg-2.0-uninstalled-dev, or librsvg-2.0-uninstalled-devel.

It seems like librsvg-2.0-uninstalled.pc is missing from the PKG_CONFIG_PATH. Please let me know if anyone has encountered this error or has suggestions on how to resolve it.

@SoumyaWind I have triggered a pipeline with the latest scarthgap changes, let's see if we hit the issue there too:

@adalessandro
Copy link
Contributor Author

For poky scarthgap (with meta-lts-mixns: scarthgap/rust), I encountered the following error during the build:

error: failed to run custom build command for pixbufloader-svg v0.0.1
...
The system library librsvg-2.0-uninstalled required by crate pixbufloader-svg was not found.
...
HINT: you may need to install a package such as librsvg-2.0-uninstalled, librsvg-2.0-uninstalled-dev, or librsvg-2.0-uninstalled-devel.

It seems like librsvg-2.0-uninstalled.pc is missing from the PKG_CONFIG_PATH. Please let me know if anyone has encountered this error or has suggestions on how to resolve it.

@SoumyaWind I have triggered a pipeline with the latest scarthgap changes, let's see if we hit the issue there too:

* https://gitlab.collabora.com/mediatek/aiot/bsp/manifest/-/pipelines/127819

@SoumyaWind fwiw, the above pipeline succeeded on all targets: qemuarm/qemuarm64/qemux86-64

@adalessandro
Copy link
Contributor Author

In the previous PRs we also had links to the changes that introduced the license changes (see e.g. #852). @rakuco do you remember why? Maybe we can drop that and just mention which licenses changed/were added/were removed.

I've updated the PR description, with patches and licenses changes. Please check.

@MaxIhlenfeldt
Copy link
Collaborator

Could you please also mention that we don't build with use_system_libdrm=true any more due to it not being supported since https://chromium-review.googlesource.com/c/chromium/src/+/5956068 (in the "Build and patch changes" section)?

And also please add a "Test-built" section to the PR description, see e.g. #852.

One final question, this PR is only for master, scarthgap and kirkstone will require separate PRs to their respective branches - do you plan to send those once this one has landed? We can discuss the pixbufloader-svg error on scarthgap in that PR.

@adalessandro
Copy link
Contributor Author

Could you please also mention that we don't build with use_system_libdrm=true any more due to it not being supported since https://chromium-review.googlesource.com/c/chromium/src/+/5956068 (in the "Build and patch changes" section)?

Updated.

And also please add a "Test-built" section to the PR description, see e.g. #852.

Updated with entries for master testing as this PR is only targeting master branch.
Note that qemuarm not added as, IIUC, still not validated using the current PR due to the error reported by @SoumyaWind .

One final question, this PR is only for master, scarthgap and kirkstone will require separate PRs to their respective branches - do you plan to send those once this one has landed? We can discuss the pixbufloader-svg error on scarthgap in that PR.

Yes, let's make this PR only target master branch for the sake of simplicity. And let's have follow up PRs for the scarthgap and kirkstone. Again, note that this PR description only have details for master branch in the build test results.

@adalessandro
Copy link
Contributor Author

2. **chromium-x11 on qemuarm target**: Encountered the following error during build -

arm-poky-linux-gnueabi-ld.lld: error: output file too large: 7086669536 bytes
arm-poky-linux-gnueabi-clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
Updated the configuration to remove the -g flag for ARM. The build was successful for qemuarm and able to verify chromium version using qemuarm emulator

@SoumyaWind for the above test case, what was your fix? I haven't had the chance to really reproduce the build issue, so if you have the required patch, could you point that to me? Thanks!

@SoumyaWind
Copy link

2. **chromium-x11 on qemuarm target**: Encountered the following error during build -

arm-poky-linux-gnueabi-ld.lld: error: output file too large: 7086669536 bytes
arm-poky-linux-gnueabi-clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
Updated the configuration to remove the -g flag for ARM. The build was successful for qemuarm and able to verify chromium version using qemuarm emulator

@SoumyaWind for the above test case, what was your fix? I haven't had the chance to really reproduce the build issue, so if you have the required patch, could you point that to me? Thanks!

@adalessandro This is a linker error that has been occurring since Chromium 127.0.6533.99 and is not related to Chromium changes. Refer - #828 (comment).

I have not fixed the issue, but I did not encounter this error in a release build where I explicitly removed debug flags for ARM (CFLAGS:remove:arm = "-g" and CXXFLAGS:remove:arm = "-g").

I have verified the chromium version for qemuarm in this configuration.

@kraj
Copy link
Collaborator

kraj commented Feb 20, 2025

2. **chromium-x11 on qemuarm target**: Encountered the following error during build -

arm-poky-linux-gnueabi-ld.lld: error: output file too large: 7086669536 bytes
arm-poky-linux-gnueabi-clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
Updated the configuration to remove the -g flag for ARM. The build was successful for qemuarm and able to verify chromium version using qemuarm emulator

@SoumyaWind for the above test case, what was your fix? I haven't had the chance to really reproduce the build issue, so if you have the required patch, could you point that to me? Thanks!

@adalessandro This is a linker error that has been occurring since Chromium 127.0.6533.99 and is not related to Chromium changes. Refer - #828 (comment).

I have not fixed the issue, but I did not encounter this error in a release build where I explicitly removed debug flags for ARM (CFLAGS:remove:arm = "-g" and CXXFLAGS:remove:arm = "-g").

I have verified the chromium version for qemuarm in this configuration.

well, it seems objects are getting bigger and more for linker to handle with every release. I have few suggestions which might help

Enable thin LTO (Link Time Optimization) by setting these GN args

use_thin_lto = true
thin_lto_enable_optimizations = true

Second suggestion
Split the build into multiple parts using the symbol_level GN arg

symbol_level = 1 

you can use 0 instead of 1 for even smaller output

Third is to use the is_component_build flag to create shared libraries instead of one large executable:

is_component_build = true

maybe if we are lucky one of these tricks will help us

Copy link
Collaborator

@MaxIhlenfeldt MaxIhlenfeldt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've added qemuarm to the tested list, lgtm now, thanks!

@MaxIhlenfeldt MaxIhlenfeldt linked an issue Feb 20, 2025 that may be closed by this pull request
@MaxIhlenfeldt MaxIhlenfeldt merged commit 27ca52f into OSSystems:master Feb 20, 2025
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.

chromium: Update to 132
6 participants