Infamous chromium/electron update problem

Hi folks,

like a few other people before me, I’ve run into problems updating my install after the Plasma 6 rollout. I’ve read through countless forum and Reddit posts to tackle the issue but still can’t seem to update all of my software properly. At some point, whenever I try to update my install with pacman and yay, one of the two starts downloading huge amounts of data and compiling electron/chromium. I reckon that one of the culprits might be Mailspring (which I am not ready to replace because it’s the perfect mail app for me), which depends on electron. I hope I haven’t messed up my system too much trying to remove and reinstall all sorts of electron versions and that somebody out there can help. I really don’t know where to start and would appreciate any help whatsoever. Thanks a lot for reading and replying!

Cheers,

thatothercoffeebean

Edit: Arch and Endeavour mirrors are up-to-date.

Welcome to :enos: forums.

What errors are you seeing?

Check what versions of electron you have in your system:

pacman -Q | grep electorn

Then check what depends on them. For example:

pactree -r electron25

If nothing depends on it, you could remove it.

pacman -Q | grep electorn does not return anything, nothing happens.
pactree -r electron25 returns ‘error: package ‘electron25’ not found’.

Thanks a lot! :slight_smile:

It’s not like I get a particular error, yay just starts updating and compiling electron or chromium and never properly finishes. I already tried to let it do its thing but whenever I try to update my system the next it it just starts from the beginning.

This implies that no electron packages is installed on your system.

Run yay but without actually going on and let it update. Post the list of packages it wants to update.

‘yay’ returns

:: Searching AUR for updates…
:: Searching databases for updates…
→ Packages not in AUR: khotkeys kpeoplevcard kquickcharts5
→ Missing AUR Debug Packages: mailspring-bin-debug
→ Flagged Out Of Date AUR Packages: python-protonvpn-nm-lib
there is nothing to do

Earlier on today I removed Mailspring and tried to reinstall it. Whenever I try to reinstall it, the entire electron/chromium hassle starts from the beginning. It starts with

: There are 13 providers available for java-runtime-headless:
:: Repository extra
1) jdk-openjdk 2) jdk11-openjdk 3) jdk17-openjdk 4) jdk21-openjdk 5) jre-openjdk 6) jre-openjdk-headless 7) jre11-openjdk 8) jre11-openjdk-headless 9) jre17-openjdk 10) jre17-openjdk-headless 11) jre21-openjdk 12) jre21-openjdk-headless 13) jre8-openjdk-headless

and when I choose one of the packages (I’ve tried the first three, it doesn’t really matter), it gives out

AUR Dependency (1): electron22-22.3.27-6
AUR Explicit (1): mailspring-git-1.13.3.r1.ge7daf5abf-1
AUR Make Dependency (1): nvm-0.39.7-1
Sync Make Dependency (11): dpkg-1.22.6-1, nodejs-lts-hydrogen-18.20.3-1, yarn-1.22.22-1, http-parser-2.9.4-2, jdk-openjdk-22.0.1.u0-1, python-httplib2-0.22.0-5, gperf-3.1-5, patchutils-0.4.2-2, npm-10.8.0-1, python-pyparsing-3.1.2-2, gn-0.2165.f284b6b4-1
:: PKGBUILD up to date, skipping download: mailspring-git
:: PKGBUILD up to date, skipping download: nvm
:: PKGBUILD up to date, skipping download: electron22
3 nvm (Build Files Exist)
2 electron22 (Build Files Exist)
1 mailspring-git (Build Files Exist)

and proceeds in going into

Enter a number (default=1):
==> 1
AUR Dependency (1): electron22-22.3.27-6
AUR Explicit (1): mailspring-git-1.13.3.r1.ge7daf5abf-1
AUR Make Dependency (1): nvm-0.39.7-1
Sync Make Dependency (11): dpkg-1.22.6-1, nodejs-lts-hydrogen-18.20.3-1, yarn-1.22.22-1, http-parser-2.9.4-2, jdk-openjdk-22.0.1.u0-1, python-httplib2-0.22.0-5, gperf-3.1-5, patchutils-0.4.2-2, npm-10.8.0-1, python-pyparsing-3.1.2-2, gn-0.2165.f284b6b4-1
:: PKGBUILD up to date, skipping download: mailspring-git
:: PKGBUILD up to date, skipping download: nvm
:: PKGBUILD up to date, skipping download: electron22
3 nvm (Build Files Exist)
2 electron22 (Build Files Exist)
1 mailspring-git (Build Files Exist)
==> Packages to cleanBuild?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==>
3 electron22 (Build Files Exist)
2 mailspring-git (Build Files Exist)
1 nvm (Build Files Exist)
==> Diffs to show?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==>
==> Making package: mailspring-git 1.13.3.r1.ge7daf5abf-1 (Sa 25 Mai 2024 14:17:48 CEST)
==> Retrieving sources…
→ Cloning mailspring.git git repo…
Cloning into bare repository ‘/home/sofonisbaanguissola/.cache/yay/mailspring-git/mailspring.git’…
remote: Enumerating objects: 142279, done.
remote: Counting objects: 100% (930/930), done.
remote: Compressing objects: 100% (423/423), done.
remote: Total 142279 (delta 589), reused 774 (delta 494), pack-reused 141349
Receiving objects: 100% (142279/142279), 130.45 MiB | 5.56 MiB/s, done.
Resolving deltas: 100% (99676/99676), done.
→ Found mailspring.sh
==> WARNING: Skipping verification of source file PGP signatures.
==> Validating source files with sha256sums…
mailspring.git … Skipped
mailspring.sh … Passed
==> Making package: nvm 0.39.7-1 (Sa 25 Mai 2024 14:18:16 CEST)
==> Retrieving sources…
→ Found nvm-0.39.7.tar.gz
→ Found init-nvm.sh
→ Found install-nvm-exec
==> WARNING: Skipping verification of source file PGP signatures.
==> Validating source files with sha256sums…
nvm-0.39.7.tar.gz … Passed
init-nvm.sh … Passed
install-nvm-exec … Passed
==> Making package: electron22 22.3.27-6 (Sa 25 Mai 2024 14:18:19 CEST)
==> Retrieving sources…
→ Updating electron git repo…
remote: Enumerating objects: 80, done.
remote: Counting objects: 100% (80/80), done.
remote: Compressing objects: 100% (11/11), done.
remote: Total 44 (delta 34), reused 37 (delta 32), pack-reused 0
Unpacking objects: 100% (44/44), 13.00 KiB | 832.00 KiB/s, done.
From https://github.com/electron/electron

  • 4c16d55528…ade98d4926 refs/pull/42001/head → refs/pull/42001/head (forced update)
  • e75cfc958f…4cd065513b refs/pull/42001/merge → refs/pull/42001/merge (forced update)
    → Found chromium-108-patchset-2.tar.xz
    → Found REVERT-roll-src-third_party-ffmpeg-m102.patch
    → Found REVERT-roll-src-third_party-ffmpeg-m106.patch
    → Found add-missing-includes-causing-build-errors.patch
    → Found angle-wayland-include-protocol.patch
    → Found chromium-icu72.patch
    → Found comp-viz-add-cstdint.patch
    → Found dawn-iwyu-add-cstdint-for-uint8_t.patch
    → Found dawn-tint-add-cstdint.patch
    → Found default_app-icon.patch
    → Found electron-launcher.sh
    → Found electron.desktop
    → Found 5d1ac2e0d5f61913aad62dadb65a7fea6f1b93ae.patch
    → Found icu-74.patch
    → Found iwyu-add-cstdint-for-int-types-in-s2cellid.patch
    → Found iwyu-add-cstdint-for-uintptr_t-in-device.patch
    → Found iwyu-add-stdint.h-for-int-types-in-gpu_feature_info.patch
    → Found iwyu-add-stdint.h-for-integer-types-in-ui.patch
    → Found iwyu-add-stdint.h-for-uint32_t-in-cc.patch
    → Found iwyu-add-stdint.h-for-uint32_t-in-chrome_pdf.patch
    → Found iwyu-add-stdint.h-for-uint64_t-in-EncounteredSurface.patch
    → Found iwyu-add-stdint.h-for-various-int-types-in-base.patch
    → Found iwyu-add-stdint.h-for-various-int-types-in-comp.patch
    → Found iwyu-add-stdint.h-for-various-integer-types-in-net.patch
    → Found jinja-python-3.10.patch
    → Found libxml2-2.12.patch
    → Found more-fixes-for-gcc13.patch
    → Found openscreen-iwyu-add-stdint.h.patch
    → Found pdfium-iwyu-add-stdint.h-for-uint32_t.patch
    → Found random-fixes-for-gcc13.patch
    → Found re-fix-TFLite-build-error-on-linux-with-system-zlib.patch
    → Found std-vector-non-const.patch
    → Found swiftshader-add-cstdint-for-uint64_t.patch
    → Found use-system-libraries-in-node.patch
    → Found v8-enhance-Date-parser-to-take-Unicode-SPACE.patch
    → Found makepkg-source-roller.py
    → Updating chromium-mirror git repo…

and the entire chromium/electron nonsense begins anew.

Try the regular mailspring from AUR (not the git version).

The regular one doesn’t seem to have any dependency on electron (it just installs the binary from the deb package) while the git version does:

See:
https://aur.archlinux.org/packages/mailspring
https://aur.archlinux.org/packages/mailspring-git

That sort of works, thank you! But alas, the regular Mailspring version does seem to have issues with the keyring and won’t work, that’s why I switched to the git version sigh.

For testing purposes, I let the electron/chromium updating/compiling process do its thing and it was stopped with the following message:

Running hooks…
/home/sofonisbaanguissola/.cache/yay/electron22/src/src/build/util/lastchange.py:318: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC).
lastchange_year = datetime.datetime.utcfromtimestamp(
/home/sofonisbaanguissola/.cache/yay/electron22/src/src/build/util/lastchange.py:318: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC).
lastchange_year = datetime.datetime.utcfromtimestamp(
/home/sofonisbaanguissola/.cache/yay/electron22/src/src/build/util/lastchange.py:318: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC).
lastchange_year = datetime.datetime.utcfromtimestamp(
/home/sofonisbaanguissola/.cache/yay/electron22/src/src/build/util/lastchange.py:318: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC).
lastchange_year = datetime.datetime.utcfromtimestamp(
Traceback (most recent call last):
File “/home/sofonisbaanguissola/.cache/yay/electron22/src/src/third_party/depot_tools/external_bin/gsutil/gsutil_4.68/gsutil/gsutil”, line 21, in
gsutil.RunMain()
File “/home/sofonisbaanguissola/.cache/yay/electron22/src/src/third_party/depot_tools/external_bin/gsutil/gsutil_4.68/gsutil/gsutil.py”, line 121, in RunMain
import gslib.main
File “/home/sofonisbaanguissola/.cache/yay/electron22/src/src/third_party/depot_tools/external_bin/gsutil/gsutil_4.68/gsutil/gslib/main.py”, line 36, in
from six.moves import configparser
ModuleNotFoundError: No module named ‘six.moves’
Traceback (most recent call last):
File “/home/sofonisbaanguissola/.cache/yay/electron22/src/src/tools/update_pgo_profiles.py”, line 154, in
sys.exit(main())
^^^^^^
File “/home/sofonisbaanguissola/.cache/yay/electron22/src/src/tools/update_pgo_profiles.py”, line 150, in main
return args.func(args)
^^^^^^^^^^^^^^^
File “/home/sofonisbaanguissola/.cache/yay/electron22/src/src/tools/update_pgo_profiles.py”, line 90, in _update
raise RuntimeError(‘gsutil failed to download “%s”’ % gs_path)
RuntimeError: gsutil failed to download “gs://chromium-optimization-profiles/pgo_profiles/chrome-linux-5359-1669828006-dacdfc44d4f579ebe8c296dd8005586434849f0e.profdata”
==> ERROR: A failure occurred in prepare().
Aborting…
→ Failed to install layer, rolling up to next layer.error:error making: electron22 - exit status 4

These are just the last few lines, I wanted to spare you the entire lengthy output.

That’s a bummer :unamused:

For the rest, I am not sure if a clean build of electron22 would work. You could delete it from
~/.cache/yay and try building it again.

If the issue still persists, I am afraid I have no more suggestions. I will withdraw and let other forum members more well versed about ins and outs of package building to chime in.

I’ll try that, thank you very much for your help so far! :slight_smile:

1 Like

No problem!

Good luck and welcome to EnOS’ community!

:enos: :handshake:t5:

1 Like

That’s because there is a typo - it should be electron, not electorn.

EDIT – oops, sorry, @pebcak, I didn’t mean to include you in the quote - I should have paid more attention where I grabbed the quote from :wink:.

2 Likes

No problem! Good catch!

1 Like

pacman -Q | grep electron didn’t return anything either :D. I’m currently trying to cleanbuild electron22 (which is taking ages).

Spelling. it should be

pacman -Q | grep electorn

Fixed

pacman -Q | grep electron

1 Like

I had the same issue.
removing electron22 was the fix too.

1 Like

Yeah, i was like “wow, both of them must be blind” :laughing:

Does it have to be that specific package? electron 23-30 are all available in the official repos which means you wouldn’t have to compile them, and there is an electron22-bin package though it is flagged out of date so maybe you would have to edit the pkgbuild for it to work…

Anyhow i had this issue happen to a friend of mine, it was some random aur package he had installed that he didn’t remember installing and didn’t need installed.

it might help you to know these few things:

  • Pacman does not compile packages, so if your package is compiling that means it’s absolutely got to be an AUR package causing the issue.
  • If you run yay, it’ll automatically try to update all official and aur packages, the aur packages are listed at the bottom, this way you can get a list of possible candidates that might be causing the issue.
  • Aur packages labeled ‘bin’ (like brave-bin) come precompiled thus you usually will not need to compile anything if you opt to use these versions of packages, if you do, it will be some dependency that’s being compiled (this is fairly likely the case for your issue)

Yeah, just thought i’d throw all that in there :saluting_face:

That sounds like a good idea! How do I do that? Are there any instructions I can look up?

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.