I broke the Gnome environment

Hi lovely community!
I am in need of help, since the last update I broke the Gnome environment. What happened is exactly the same as described in this post.

Which is marked as solved and the poster claims he updated “SO” which I believe is the libgtk-4.so.1 library.
The twist is that I am up-to-date on my system and the gtk4 package is the latest version

sudo pacman -S gtk4 
warning: gtk4-1:4.18.5-2 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Packages (1) gtk4-1:4.18.5-2

Total Download Size:    8,69 MiB
Total Installed Size:  48,03 MiB
Net Upgrade Size:       0,00 MiB

:: Proceed with installation? [Y/n] 
:: Retrieving packages...
 gtk4-1:4.18.5-2-x86_64                                                                              8,7 MiB  5,47 MiB/s 00:02 [#############################################################################] 100%
(1/1) checking keys in keyring                                                                                                 [#############################################################################] 100%
(1/1) checking package integrity                                                                                               [#############################################################################] 100%
(1/1) loading package files                                                                                                    [#############################################################################] 100%
(1/1) checking for file conflicts                                                                                              [#############################################################################] 100%
(1/1) checking available disk space                                                                                            [#############################################################################] 100%
:: Processing package changes...
(1/1) reinstalling gtk4                                                                                                        [#############################################################################] 100%
:: Running post-transaction hooks...
(1/3) Arming ConditionNeedsUpdate...
(2/3) Compiling GSettings XML schema files...
(3/3) Updating GTK4 module cache...
✔ ~
21:22 $ gnome-tweaks 
Segmentation fault (core dumped)
pacman -Qi gtk4
Name            : gtk4
Version         : 1:4.18.5-2
Description     : GObject-based multi-platform GUI toolkit
Architecture    : x86_64
URL             : https://www.gtk.org/
Licenses        : LGPL-2.1-or-later
Groups          : None
Provides        : libgtk-4.so=1-64
Depends On      : adwaita-fonts  adwaita-icon-theme  at-spi2-core  cairo  dconf  desktop-file-utils  fontconfig  fribidi  gcc-libs  gdk-pixbuf2  glib2  graphene  gst-plugins-bad-libs  harfbuzz  iso-codes
                  libcloudproviders  libcolord  libcups  libegl  libepoxy  libgl  libjpeg-turbo  libpng  librsvg  libtiff  libx11  libxcursor  libxdamage  libxext  libxfixes  libxi  libxinerama  libxkbcommon
                  libxrandr  libxrender  pango  shared-mime-info  tinysparql  wayland  bash  glibc  gst-plugins-base-libs  gstreamer  gtk-update-icon-cache  vulkan-icd-loader
Optional Deps   : evince: Default print preview command [installed]
Required By     : baobab  celluloid  colord-gtk4  d-spy  decibels  deja-dup  endeavour  epiphany  file-roller  font-manager  ghex  glycin  gnome-bluetooth-3.0  gnome-builder  gnome-calculator  gnome-calendar
                  gnome-characters  gnome-chess  gnome-clocks  gnome-console  gnome-contacts  gnome-control-center  gnome-desktop-4  gnome-font-viewer  gnome-logs  gnome-mahjongg  gnome-maps  gnome-mines
                  gnome-music  gnome-nibbles  gnome-online-accounts  gnome-shell  gnome-software  gnome-sound-recorder  gnome-sudoku  gnome-system-monitor  gnome-text-editor  gnome-tour  gnome-tweaks
                  gnome-weather  granite7  gst-plugin-gtk4  gtkmm-4.0  gtksourceview5  ibus  libadwaita  libedataserverui4  libgnome-games-support-2  libnma-gtk4  libpanel  libportal-gtk4  libshumate
                  libspelling  lightsoff  loupe  malcontent  mutter  nautilus  nautilus-share  pamac-gtk  pantheon-camera  polari  simple-scan  snapshot  sysprof  tecla  vte4  webkitgtk-6.0
                  xdg-desktop-portal-gnome
Optional For    : chromium  electron30-bin  electron31  electron34  electron35  electron36  gcr-4  gssdp  libinput  libreoffice-still
Conflicts With  : None
Replaces        : None
Installed Size  : 48,03 MiB
Packager        : Jan Alexander Steffens (heftig) <heftig@archlinux.org>
Build Date      : Fr 09 Mai 2025 18:57:28 CEST
Install Date    : Mo 26 Mai 2025 20:05:20 CEST
Install Reason  : Installed as a dependency for another package
Install Script  : No
Validated By    : Signature

I tried refreshing the mirrors, and doing a system upgrade but no dice, it does not work. I tried rebooting the system as well. The disk is not full, I just get the segmetation error.

sudo pacman -Syu
:: Synchronizing package databases...
 core is up to date
 extra is up to date
 community is up to date
 multilib is up to date
:: Starting full system upgrade...
 there is nothing to do

Please help, the system is working but only apps that are dependent on gtk4 are not, it looks exactly like the screenshot from the other post.

Thanks!

No, GNOME is not broken. Topic title edited to use your description instead. :wink:

Please help us help you:

1 Like

You thought wrong. :wink:

The poster whose thread you are referencing is a native Spanish speaker, and — like many non-English speakers — he was blending his native tongue into his English post.

“SO” in this case would be a gratuitous acronym for “sistema operativo”, which means “operating system” in English.

For that matter, gtk4 is already installed system-wide on your system, and reinstalling it won’t make any difference at all.

Please keep in mind that GNU/Linux, like all UNIX-family operating systems, is a multi-user platform. By consequence, configuration problems inside of your home directory are rarely ever related to the system-wide configuration, unless you’ve been messing with the system-wide settings — and thus, from within the root account, because a regular user does not have write access to those.

Concrete advice:

  • Remove electron32, which is an AUR package. :point_down:
    sudo pacman -Rns electron32
    
  • Update your system. :point_down:
    sudo pacman -Syu
    
  • Reinstall electron32 if you really need it, even though that shouldn’t be the case. :point_down:
    pamac build electron32
    
3 Likes

I recommend the binary version if required instead: electron32-bin. Nobody wants to spend hours compiling Electron. :scream:

1 Like

I think many learned that lesson at ~ electron25.

HI All,
thanks for the help here.
@Aragorn I appreciate the fix for the tittle it was indeed me who broke it. Also for the clarification of what the other person meant with “SO”.
I also appreciate the help @Yochanan soundofthunder (I can only mention two users in a post) .

Anyways back to the problem at hand and the suggestions.

I actually did not have electron32 installed, that’s what I remember doing back when I broke it. I removed electron32, so that I can proceed with the system upgrade. Due to some dependency (I don’t remember which) of electron32 I couldn’t update the system.

I did install electron32-bin as suggested but still nothing. I did a reboot for a good measure, and I still have gnome not loading properly.
My system was and still is up-to-date.
I just did all of the same commands as suggested, and here’s the output

19:27 $ sudo pacman -Rns electron32-bin
checking dependencies...

Packages (1) electron32-bin-32.3.3-2

Total Removed Size:  283,50 MiB

:: Do you want to remove these packages? [Y/n] 
:: Processing package changes...
(1/1) removing electron32-bin                                                                                                  [#############################################################################] 100%
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
✔ ~ 
19:27 $ sudo pacman -Syu
:: Synchronizing package databases...
 core is up to date
 extra is up to date
 community is up to date
 multilib is up to date
:: Starting full system upgrade...
 there is nothing to do
✔ ~ 
19:27 $ pamac build electron32-bin
Preparing...
Cloning electron32-bin build files...
Generating electron32-bin information...
Checking electron32-bin dependencies...
cp: cannot access '/var/lib/pacman/sync/download-xaNWLi': Permission denied
Resolving dependencies...
Checking inter-conflicts...

To build (1):
  electron32-bin  32.3.3-2    AUR


Edit build files : [e] 
Apply transaction ? [e/y/N] y

==== AUTHENTICATING FOR org.manjaro.pamac.commit ====
Authentication is required to install, update, or remove packages
Authenticating as: user
Password: 
==== AUTHENTICATION COMPLETE ====
cp: cannot access '/var/lib/pacman/sync/download-xaNWLi': Permission denied

Building electron32-bin...
==> Making package: electron32-bin 32.3.3-2 (Fr 30 Mai 2025 19:27:45 CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found electron32-chromedriver-32.3.3-x86_64.zip
  -> Found electron32-32.3.3-x86_64.zip
==> Validating source_x86_64 files with sha256sums...
    electron32-chromedriver-32.3.3-x86_64.zip ... Passed
    electron32-32.3.3-x86_64.zip ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
==> Starting prepare()...
==> Entering fakeroot environment...
==> Starting package()...
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Stripping unneeded symbols from binaries and libraries...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "electron32-bin"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: electron32-bin 32.3.3-2 (Fr 30 Mai 2025 19:28:05 CEST)
==> Cleaning up...

Checking keyring...                                                                                                                                                                                           [1/1]
Checking integrity...                                                                                                                                                                                         [1/1]
Loading packages files...                                                                                                                                                                                     [1/1]
Checking file conflicts...                                                                                                                                                                                    [1/1]
Checking available disk space...                                                                                                                                                                              [1/1]
Installing electron32-bin (32.3.3-2)...                                                                                                                                                                       [1/1]
Transaction successfully finished.

I am not sure what to do next :confused:

You have not been maintaining your system, and you probably have loads of .pacnew files on your system. Check with… :point_down:

pacdiff -o

If you do not have that command at your disposal, then you must install pacman-contrib first. .pacnew files should be merged — not blindly copied over, nor ignored — in order for your system to remain up-to-date with the latest changes in development, configuration standards, et al.

The community.db repo was dropped two years ago. It still exists as an empty repository — or perhaps I should say “it has been re-added as an empty repo” — which is why you’re not getting any error messages about it during the update process.

1 Like

Well, then it seems that had nothing to do with anything. Most likely whatever required electron32 now depends on a newer Electron version as 32 is EOL (End Of Life), so you don’t need it anymore.

Hi @Yochanan @Aragorn
I checked what pacdiff -o says, and I got a bunch of files.

20:40 $ pacdiff -o
/etc/autofs/autofs.conf.pacnew
/usr/share/icons/default/index.theme.pacsave
/etc/hosts.pacnew
/etc/passwd.pacnew
/etc/shells.pacnew
/etc/locale.gen.pacnew
/etc/default/grub.pacnew
/etc/pamac.conf.pacnew
/etc/libvirt/libvirtd.conf.pacnew
/etc/mkinitcpio.conf.pacnew
/etc/pacman.conf.pacnew
/etc/makepkg.conf.d/rust.conf.pacnew
/etc/pacman-mirrors.conf.pacnew
/etc/default/useradd.pacnew

I did some reading about this tool and then I just ran pacdiff focusing on these guys:

/etc/pamac.conf.pacnew
/etc/pacman.conf.pacnew

I did a diff on them, but there was nothing to crazy there. No ignored packaged etc… I did remove the “contrib” as suggested.
Ran the update again and nothing.
I just double checked for ignored packages but this command gives me commented out lines only.

20:41 $ grep -i "ignorepkg" /etc/pacman.conf
grep -i "ignoregroup" /etc/pacman.conf
#IgnorePkg   =
#IgnorePkg   =
#IgnoreGroup =

Any more hints on where I can continue looking?

There is no wonder there. You don’t seem to be following advice given; either that, or not sufficiently reporting that you had.


With regard electron:

If you had electron32 installed, this would remove it:
sudo pacman -Rns electron32

A sync/update of your system:
sudo pacman -Syu

Then (only if you still need it) source the binary from the AUR:
pamac build electron32-bin


From the information given, the main issue seems to be that;

This doesn’t tell us what you did; whether you merged a .pacnew file safely, or deleted it because there were no significant differences between the pacnew and the actual file, or didn’t know what to do and left it in place.

It seems more research is needed on the proper handling of .pacnew files. When you find specific differences that you don’t understand, please ask in the forum rather than just deleting (or ignoring) them.

Regards.

1 Like