I am getting a strange chromium build error when trying to build on Ubuntu-mate 22
uname -a
Linux nimloth 6.5.0-35-generic #35~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue May 7 09:00:52 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
I follow the instructions (building as root in a specially-created subdir in /root/work :
mkdir chromium_deb_build
cd chromium_deb_build
export PATH="/root/work/chromium_deb_build/depot_tools:$PATH"
mkdir chromium && cd chromium
fetch --no-history --nohooks chromium
cd src
./build/install-build-deps.sh
gclient runhooks
gn gen out/Default
autoninja -C out/Default chrome
It runs for quite a while, but then fails:
-----------------------------------------------------------------------------------------
ninja: Entering directory `out/Default'
[14689/59633] ACTION //components/optimization_guide/core:on_device_model_execution_proto_generator(//build/toolchain/linux:clang_x64)
FAILED: gen/components/optimization_guide/core/model_execution/on_device_model_execution_proto_descriptors.cc
python3 ../../components/optimization_guide/tools/gen_on_device_proto_descriptors.py --output_cc=gen/components/optimization_guide/core/model_execution/on_device_model_execution_proto_descriptors.cc --include=\"components/optimization_guide/proto/features/compose.pb.h\" --include=\"components/optimization_guide/proto/string_value.pb.h\" --include=\"components/optimization_guide/proto/features/tab_organization.pb.h\" --input_file gen/components/optimization_guide/proto/compose.descriptor --input_file gen/components/optimization_guide/proto/string_value.descriptor --input_file gen/components/optimization_guide/proto/tab_organization.descriptor
Traceback (most recent call last):
File "/root/work/chromium_deb_build/chromium/src/out/Default/../../components/optimization_guide/tools/gen_on_device_proto_descriptors.py", line 25, in <module>
from google.protobuf import descriptor_pb2
ModuleNotFoundError: No module named 'google.protobuf'
[14706/59633] CXX obj/third_party/swiftshader/src/Vulkan/_swiftshader_libvulkan/libVulkan.o
ninja: build stopped: subcommand failed.
-----------------------------------------------------------------------------------------
What package is google.protobuf supposed to be from?
If I do have it, why the error? If I don't, why was it not installed by build/install-build-deps.sh ?
Suppose my system did not have the needed package for google.protobuf, and its install failed for some reason - then build/install-build-deps.sh would have failed with an error message, right?
I note that when I rerun build/install-build-deps.sh it says:
-----------------------------------------------------------------------------------------
Hit:1
http://us.archive.ubuntu.com/ubuntu jammy InRelease
Hit:2
http://us.archive.ubuntu.com/ubuntu jammy-updates InRelease
Get:3
http://apt.insync.io/ubuntu impish InRelease [5,536 B]
Hit:4
http://dl.google.com/linux/earth/deb stable InRelease
Hit:5
http://security.ubuntu.com/ubuntu jammy-security InRelease
Hit:6
http://us.archive.ubuntu.com/ubuntu jammy-backports InRelease
Hit:7
https://wire-app.wire.com/linux/debian stable InRelease
Hit:8
https://download.sublimetext.com apt/stable/ InRelease
Hit:9
https://dl.google.com/linux/chrome/deb stable InRelease
Hit:10
https://repo.skype.com/deb stable InRelease
Get:11
https://packages.microsoft.com/repos/vscode stable InRelease [3,594 B]
Get:12
https://dl.cloudsmith.io/public/balena/etcher/deb/ubuntu jammy InRelease [2,957 B]
Ign:13
https://repo.vivaldi.com/stable/deb stable InRelease
Hit:14
https://deb.opera.com/opera-stable stable InRelease
Hit:15
https://repo.vivaldi.com/stable/deb stable Release
Hit:16
https://packagecloud.io/slacktechnologies/slack/debian jessie InRelease
Hit:17
https://ppa.launchpadcontent.net/apandada1/foliate/ubuntu jammy InRelease
Hit:18
https://ppa.launchpadcontent.net/audio-recorder/ppa/ubuntu jammy InRelease
Hit:19
https://ppa.launchpadcontent.net/costales/anoise/ubuntu jammy InRelease
Hit:20
https://ppa.launchpadcontent.net/flacon/ppa/ubuntu jammy InRelease
Hit:21
https://ppa.launchpadcontent.net/flexiondotorg/minecraft/ubuntu jammy InRelease
Hit:22
https://ppa.launchpadcontent.net/flexiondotorg/obs-fully-loaded/ubuntu jammy InRelease
Hit:23
https://ppa.launchpadcontent.net/gns3/ppa/ubuntu jammy InRelease
Hit:24
https://ppa.launchpadcontent.net/heyarje/makemkv-beta/ubuntu jammy InRelease
Hit:25
https://ppa.launchpadcontent.net/lutris-team/lutris/ubuntu jammy InRelease
Hit:26
https://ppa.launchpadcontent.net/nextcloud-devs/client/ubuntu jammy InRelease
Hit:27
https://ppa.launchpadcontent.net/stellarium/stellarium-releases/ubuntu jammy InRelease
Hit:28
https://ppa.launchpadcontent.net/subsurface/subsurface/ubuntu jammy InRelease
Hit:29
https://ppa.launchpadcontent.net/unit193/encryption/ubuntu jammy InRelease
Fetched 12.1 kB in 6s (2,005 B/s)
Reading package lists... Done
W:
https://wire-app.wire.com/linux/debian/dists/stable/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
W:
https://download.sublimetext.com/apt/stable/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
W:
https://repo.skype.com/deb/dists/stable/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
W:
https://packages.microsoft.com/repos/vscode/dists/stable/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
W:
https://dl.cloudsmith.io/public/balena/etcher/deb/ubuntu/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
Finding missing packages...
Building apt package list.
Skipping debugging symbols.
Skipping 32-bit libraries.
Skipping ARM cross toolchain.
Skipping NaCl, NaCl toolchain, NaCl ports dependencies.
Skipping backwards compatible packages.
Packages required: binutils binutils-aarch64-linux-gnu binutils-arm-linux-gnueabihf binutils-mips64el-linux-gnuabi64 binutils-mipsel-linux-gnu bison bzip2 cdbs curl dbus-x11 devscripts dpkg-dev elfutils fakeroot flex git-core gperf lib32gcc-s1 lib32stdc++6 lib32z1 libasound2 libasound2-dev libatk1.0-0 libatspi2.0-0 libatspi2.0-dev libbluetooth-dev libbrlapi-dev libbrlapi0.8 libbz2-1.0 libbz2-dev libc6 libc6-dev libc6-i386 libcairo2 libcairo2-dev libcap-dev libcap2 libcgi-session-perl libcups2 libcups2-dev libcurl4-gnutls-dev libdrm-dev libdrm2 libegl1 libelf-dev libevdev-dev libevdev2 libexpat1 libffi-dev libffi8 libfontconfig1 libfreetype6 libfuse2 libgbm-dev libgbm1 libgl1 libglib2.0-0 libglib2.0-dev libglu1-mesa-dev libgtk-3-0 libgtk-3-dev libinput-dev libinput10 libjpeg-dev libkrb5-dev libncurses5 libnspr4 libnspr4-dev libnss3 libnss3-dev libpam0g libpam0g-dev libpango-1.0-0 libpangocairo-1.0-0 libpci-dev libpci3 libpcre3 libpixman-1-0 libpng16-16 libpulse-dev libpulse0 libsctp-dev libspeechd-dev libspeechd2 libsqlite3-0 libsqlite3-dev libssl-dev libstdc++6 libsystemd-dev libudev-dev libudev1 libuuid1 libva-dev libvulkan-dev libvulkan1 libwayland-egl1 libwayland-egl1-mesa libwww-perl libx11-6 libx11-xcb1 libxau6 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxdmcp6 libxext6 libxfixes3 libxi6 libxinerama1 libxkbcommon-dev libxrandr2 libxrender1 libxshmfence-dev libxslt1-dev libxss-dev libxt-dev libxtst-dev libxtst6 lighttpd locales mesa-common-dev openbox p7zip patch perl pkg-config rpm ruby subversion uuid-dev wdiff x11-utils x11-xserver-utils xcompmgr xserver-xorg-core xserver-xorg-video-dummy xvfb xz-utils zip zlib1g zstd
No missing packages, and the packages are up to date.
Skipping installation of Chrome OS fonts.
Installing locales.
Locales already up-to-date.
-----------------------------------------------------------------------------------------
So, seems like that is not the problem.
Any insight on what the problem might be?
Thanks,
Greg Huey
PS: I really, really miss the days of download a tar-ball, unzip & untar, configure.sh, then make all, then make install. What happened? This level of over-automation is great when everything works. However, mostly it won't (something always isn't quite right), then its a nightmare to track down why & figure out a fix.