GDM Can't Find Shared Library: libaccountsservice.so.0

Hi there,

I have a media PC running Manjaro Gnome 26.1.0 on Kernel 6.12.91 which hadn’t been updated for about six months. I updated the keyring and refreshed keys, ran pacman -Syu and then tried to update my AUR packages using yay. Partway through this process I ran out of disc space, so I cleared cached packages pacman -Sc to free up space and was then able to build everything. After a reboot, I found that GDM is now failing to start.

I’ve ensured I haven’t partially upgraded:

sudo pacman-mirrors -f3
sudo pacman -Syyu

there is nothing to do

Running journalctl -xeu gdm.service provided the following error:

/usr/bin/gdm: error while loading shared libraries: libaccountsservice.so.0: cannot open shared object file: No such file or directory

By running lddtree /usr/bin/gdm I’ve confirmed that GDM can’t locate that library:

/usr/bin/gdm (interpreter => /lib64/ld-linux-x86-64.so.2)
    libsystemd.so.0 => /usr/lib/libsystemd.so.0
        libm.so.6 => /usr/lib/libm.so.6
    libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0
        libffi.so.8 => /usr/lib/libffi.so.8
    libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0
        libpcre2-8.so.0 => /usr/lib/libpcre2-8.so.0
    libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0
        libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0
        libz.so.1 => /usr/lib/libz.so.1
        libmount.so.1 => /usr/lib/libmount.so.1
            libblkid.so.1 => /usr/lib/libblkid.so.1
    libaccountsservice.so.0 => None
    libXau.so.6 => /usr/lib/libXau.so.6
    libxcb.so.1 => /usr/lib/libxcb.so.1
    libXdmcp.so.6 => /usr/lib/libXdmcp.so.6
    libgudev-1.0.so.0 => /usr/lib/libgudev-1.0.so.0
        libudev.so.1 => /usr/lib/libudev.so.1
    libgcc_s.so.1 => /usr/lib/libgcc_s.so.1
    libc.so.6 => /usr/lib/libc.so.6

So I tried to find it: find / -name "libaccountsservice.*"

/usr/lib/libaccountsservice.so.1
/usr/lib/libaccountsservice.so.1.0.0
/usr/lib/libaccountsservice.so
/usr/share/gtk-doc/html/libaccountsservice/libaccountsservice.devhelp2

I’m unsure as to why GDM is looking for a file with .so.0 as the extension. There’s a .so file where I’d expect it, and this is owned by extra/accountsservice. I tried to identify the package that the missing file belongs to:

sudo pkgfile -u
sudo pkgfile libaccountsservice.so.0

But this provides no results.

I assume this must mean it’s a problem with the file extension of this library, but I’m not experienced enough to know how to address this. I’ve come across numerous threads on this forum and others related to shared libraries being missing, but the solution always seems to be to install the package that owns it.

Any assistance would be greatly appreciated.

Welcome to the Manjaro community @Col.Panic

❯ pacman -Qo /usr/lib/libaccountsservice.so.1.0.0
/usr/lib/libaccountsservice.so.1.0.0 is owned by accountsservice 26.13.3-1

accountsservice is the same version in all repos:

mbn info accountsservice -q | grep -Ev 'Name|Repository|Packager'
Branch         : archlinux
Version        : 26.13.3-1
Build Date     : Fri 10 Apr 2026 23:00:09 
Branch         : unstable
Version        : 26.13.3-1
Build Date     : Fri 10 Apr 2026 23:00:09 
Branch         : testing
Version        : 26.13.3-1
Build Date     : Fri 10 Apr 2026 23:00:09 
Branch         : stable
Version        : 26.13.3-1
Build Date     : Fri 10 Apr 2026 23:00:09 
❯ pamac list -f accountsservice | grep /usr/lib/libaccountsservice
/usr/lib/libaccountsservice.so
/usr/lib/libaccountsservice.so.1
/usr/lib/libaccountsservice.so.1.0.0

Maybe check that your installed version of gdm matches the one in the repos?

mbn info gdm -q | grep -Ev 'Name|Repository|Packager'
Branch         : archlinux
Version        : 50.1-1
Build Date     : Fri 29 May 2026 07:32:08 
Branch         : unstable
Version        : 50.1-1
Build Date     : Fri 29 May 2026 08:35:07 
Branch         : testing
Version        : 50.1-1
Build Date     : Fri 29 May 2026 08:35:07 
Branch         : stable
Version        : 50.0-2
Build Date     : Sun 12 Apr 2026 23:32:36 

Thanks @scotty65!

I just checked pacman -Q gdm and found it was indeed out of date:

gdm-plymouth 43.0-1

Running pacman -Syu gdm prompted me to replace gdm-plymouth with gdm-50.0-2. I now have a display manager but no desktop - just a grey screen with the clock and power menu at the top.

Could you ELI5 why pacman was reporting the system was up-to-date when in fact gdm was so behind? If there’s a way for me to figure out what else needs to be updated I expect I might be able to rescue the system.

Looking at what services are running, I notice there are a few related to plymouth that aren’t present on my personal Manjaro system:

  UNIT                                                  LOAD   ACTIVE SUB     DESCRIPTION                                                                  
  accounts-daemon.service                               loaded active running Accounts Service
  alsa-restore.service                                  loaded active exited  Save/Restore Sound Card State
  apparmor.service                                      loaded active exited  Load AppArmor profiles
  colord.service                                        loaded active running Manage, Install and Generate Color Profiles
  cups.service                                          loaded active running CUPS Scheduler
  dbus-broker.service                                   loaded active running D-Bus System Message Bus
  gdm.service                                           loaded active running GNOME Display Manager
  keymapperd.service                                    loaded active running Keymapper Daemon
  kmod-static-nodes.service                             loaded active exited  Create List of Static Device Nodes
  ldconfig.service                                      loaded active exited  Rebuild Dynamic Linker Cache
  lvm2-monitor.service                                  loaded active exited  Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling
  ModemManager.service                                  loaded active running Modem Manager
  NetworkManager.service                                loaded active running Network Manager
  plymouth-quit-wait.service                            loaded active exited  Hold until boot process finishes up
  plymouth-read-write.service                           loaded active exited  Tell Plymouth To Write Out Runtime Data
  plymouth-start.service                                loaded active exited  Show Plymouth Boot Screen
  polkit.service                                        loaded active running Authorization Manager
  power-profiles-daemon.service                         loaded active running Power Profiles daemon
  rtkit-daemon.service                                  loaded active running RealtimeKit Scheduling Policy Service
  snapd.apparmor.service                                loaded active exited  Load AppArmor profiles managed internally by snapd
  snapd.service                                         loaded active running Snap Daemon
  sshd.service                                          loaded active running OpenSSH Daemon
  systemd-fsck@dev-disk-by\x2duuid-454B\x2d1191.service loaded active exited  File System Check on /dev/disk/by-uuid/454B-1191
  systemd-journal-catalog-update.service                loaded active exited  Rebuild Journal Catalog
  systemd-journal-flush.service                         loaded active exited  Flush Journal to Persistent Storage
  systemd-journald.service                              loaded active running Journal Service
  systemd-logind.service                                loaded active running User Login Management
  systemd-modules-load.service                          loaded active exited  Load Kernel Modules
  systemd-random-seed.service                           loaded active exited  Load/Save OS Random Seed
  systemd-remount-fs.service                            loaded active exited  Remount Root and Kernel File Systems
  systemd-sysctl.service                                loaded active exited  Apply Kernel Variables
  systemd-sysusers.service                              loaded active exited  Create System Users
  systemd-timesyncd.service                             loaded active running Network Time Synchronization
  systemd-tmpfiles-setup-dev-early.service              loaded active exited  Create Static Device Nodes in /dev gracefully
  systemd-tmpfiles-setup-dev.service                    loaded active exited  Create Static Device Nodes in /dev
  systemd-tmpfiles-setup.service                        loaded active exited  Create System Files and Directories
  systemd-udev-load-credentials.service                 loaded active exited  Load udev Rules from Credentials
  systemd-udev-trigger.service                          loaded active exited  Coldplug All udev Devices
  systemd-udevd.service                                 loaded active running Rule-based Manager for Device Events and Files
  systemd-update-done.service                           loaded active exited  Update is Completed
  systemd-update-utmp.service                           loaded active exited  Record System Boot/Shutdown in UTMP
  systemd-user-sessions.service                         loaded active exited  Permit User Sessions
  systemd-vconsole-setup.service                        loaded active exited  Virtual Console Setup
  ufw.service                                           loaded active exited  CLI Netfilter Manager
  upower.service                                        loaded active running Daemon for power management
  user-runtime-dir@1000.service                         loaded active exited  User Runtime Directory /run/user/1000
  user-runtime-dir@60578.service                        loaded active exited  User Runtime Directory /run/user/60578
  user@1000.service                                     loaded active running User Manager for UID 1000
  user@60578.service                                    loaded active running User Manager for UID 60578
  wpa_supplicant.service                                loaded active running WPA supplicant


Cheers.

Are you using btrfs or ext4?

I’m trying to understand how you updated your mirrors and ran a full system upgrade, but ended up with a GNOME package rolling all the way back from v43.

At any point, did you boot the live image to continue the upgrade after freeing space?

Hi @Molski, I’m using ext4.

I haven’t booted a live image on this system since it was installed, which was quite a few years ago. Gnome 43 may well have been current at that time. Perhaps I have done something stupid which has resulted in this old version sticking around.

Manjaro is a so-called rolling-release distribution, and as such is not intended to be treated as an appliance. Failing to perform necessary maintenance is very likely the root cause of your woes.

I’d suggest – regardless of the problem – to acquire a fresh copy of the Manjaro Installer ISO, so that you have a Live environment available for when it’s needed – either to rescue or reinstall your Manjaro system.

The ISO can be downloaded via another available computer.

I suggest Ventoy as a convenient bootable USB method, rather than writing an ISO directly to USB; the following link will give more details:

A Ventoy USB can be created in either Linux or Windows.

Hopefully, a re-installation can be avoided, however, if it’s ultimately the fastest way back to a working system, at least you will have the tools.

Regards.

There is likely a catalyst that bought this all on, that happened as far back as 2022.

Whether it was an interrupted upgrade, or maybe even a simple question like:

Replace gdm-plymouth with extra/gdm?

And an N answer bought you 3 years.

Only guessing.

A reinstall might be inevitable as @soundofthunder advised.

I am still curious to as what is actually going on here. but I do not believe I have the pac-fu required to solve this one.

1 Like

Thanks everyone, I would have liked to have been able to identify a cause, but alas I am a bit too busy at the moment to spend much time investigating further. I have formatted and installed an immutable distro, which perhaps is a wiser choice for this particular application.

Originally I had installed an LTS version of another fairly popular distribution (which I shall not name), that was shipped with a networking package that included bugs preventing me from accessing my local network via the file manager. I overwrote that system with Manjaro in a mild fit of frustration, intending it only to be a temporary remedy. Turns out it lasted pretty well given how much neglect it suffered.

Thanks @soundofthunder for the tip about Ventoy, that works really well. I’ve always wanted a way to easily switch between various live images without needing a hundred different flash drives.

2 Likes

The topic is now closed without a resolution and accordingly the marked solution has been removed.