Broken KDE environment when updating libplist

When logging in to the KDE wayland desktop session, it had a crappy default theme saying the normal theme was broken, and logging in made the screen flash black for a second and kick me back to the login screen.

Luckily I have GNOME installed also, so I logged into that. Then launching Konsole produced the following error:

konsole: error while loading shared libraries: libplist-2.0.so.3: cannot open shared object file: No such file or directory

I checked and have libplist installed, but it updated recently and the files it has on my system are:

$ exa | rg libplist
lrwxrwxrwx     23 root  5 May 05:00 ď…Ľ libplist++-2.0.so -> libplist++-2.0.so.4.3.0*
lrwxrwxrwx     23 root  5 May 05:00 ď…› libplist++-2.0.so.4 -> libplist++-2.0.so.4.3.0*
.rwxr-xr-x    68k root  5 May 05:00 ď…› libplist++-2.0.so.4.3.0*
lrwxrwxrwx     21 root  5 May 05:00 ď…Ľ libplist-2.0.so -> libplist-2.0.so.4.3.0*
lrwxrwxrwx     21 root  5 May 05:00 ď…› libplist-2.0.so.4 -> libplist-2.0.so.4.3.0*
.rwxr-xr-x   100k root  5 May 05:00 ď…› libplist-2.0.so.4.3.0*

So I made a link:

sudo ln -s /usr/lib/libplist-2.0.so /usr/lib/libplist-2.0.so.3

and this actually fixes the problem and allows me to launch konsole (and probably log in to KDE as well).

Still, this is very weird to me. Why would the arch package libplist update this filename when other packages still depend on the old one (is this a general arch problem)? Why would KDE packages be built on specific versions of libplist when they are all symlinks to the stable filename libplist-2.0.so?

System:
  Kernel: 6.3.1-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 13.1.1
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
    root=UUID=74b4d5d6-793e-49c5-b882-ea7d9611ad1c rw rootflags=subvol=@
    loglevel=3 quiet ibt=off
  Desktop: GNOME v: 44.1 tk: GTK v: 3.24.37 wm: gnome-shell dm: SDDM
    Distro: Garuda Linux base: Arch Linux
Machine:
  Type: Convertible System: LENOVO product: 81Q9 v: Yoga C940-14IIL
    serial: <superuser required> Chassis: type: 31 v: Yoga C940-14IIL
    serial: <superuser required>
  Mobo: LENOVO model: LNVNB161216 v: SDK0K17763 WIN
    serial: <superuser required> UEFI: LENOVO v: AUCN57WW date: 08/18/2020
Battery:
  ID-1: BAT1 charge: 25.0 Wh (90.6%) condition: 27.6/60.0 Wh (45.9%)
    volts: 8.0 min: 7.7 model: Celxpert BASE-BAT type: Li-poly serial: <filter>
    status: discharging
  Device-1: wacom_battery_0 model: Wacom HID 51E2 serial: N/A charge: 0%
    rechargeable: yes status: N/A
CPU:
  Info: model: Intel Core i7-1065G7 bits: 64 type: MT MCP arch: Ice Lake
    gen: core 10 level: v4 note: check built: 2019-21 process: Intel 10nm
    family: 6 model-id: 0x7E (126) stepping: 5 microcode: 0xB8
  Topology: cpus: 1x cores: 4 tpc: 2 threads: 8 smt: enabled cache:
    L1: 320 KiB desc: d-4x48 KiB; i-4x32 KiB L2: 2 MiB desc: 4x512 KiB L3: 8 MiB
    desc: 1x8 MiB
  Speed (MHz): avg: 1234 high: 1500 min/max: 400/3900 scaling:
    driver: intel_pstate governor: powersave cores: 1: 942 2: 1000 3: 1500
    4: 1500 5: 1000 6: 1500 7: 932 8: 1500 bogomips: 23961
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities: <filter>
Graphics:
  Device-1: Intel Iris Plus Graphics G7 vendor: Lenovo driver: i915 v: kernel
    arch: Gen-11 process: Intel 10nm built: 2019-21 ports: active: eDP-1
    empty: DP-1,DP-2,DP-3 bus-ID: 00:02.0 chip-ID: 8086:8a52 class-ID: 0300
  Device-2: IMC Networks Integrated Camera type: USB driver: uvcvideo
    bus-ID: 3-1:2 chip-ID: 13d3:56b2 class-ID: 0e02
  Display: wayland server: X.org v: 1.21.1.8 with: Xwayland v: 23.1.1
    compositor: gnome-shell driver: X: loaded: intel dri: i965 gpu: i915
    display-ID: 0
  Monitor-1: eDP-1 model: LG Display 0x061f built: 2018 res: 1920x1080
    dpi: 158 gamma: 1.2 size: 309x174mm (12.17x6.85") diag: 355mm (14")
    ratio: 16:9 modes: 1920x1080
  API: OpenGL v: 4.6 Mesa 23.0.3 renderer: Mesa Intel Iris Plus Graphics
    (ICL GT2) direct-render: Yes
Audio:
  Device-1: Intel Ice Lake-LP Smart Sound Audio vendor: Lenovo
    driver: sof-audio-pci-intel-icl
    alternate: snd_hda_intel,snd_sof_pci_intel_icl bus-ID: 00:1f.3
    chip-ID: 8086:34c8 class-ID: 0401
  API: ALSA v: k6.3.1-zen1-1-zen status: kernel-api tools: N/A
  Server-1: sndiod v: N/A status: off tools: aucat,midicat,sndioctl
  Server-2: PipeWire v: 0.3.70 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Intel Ice Lake-LP PCH CNVi WiFi driver: iwlwifi v: kernel
    bus-ID: 00:14.3 chip-ID: 8086:34f0 class-ID: 0280
  IF: wlp0s20f3 state: up mac: <filter>
Bluetooth:
  Device-1: Intel AX201 Bluetooth type: USB driver: btusb v: 0.8
    bus-ID: 3-10:4 chip-ID: 8087:0026 class-ID: e001
  Report: bt-adapter ID: hci0 rfk-id: 3 state: up address: <filter>
Drives:
  Local Storage: total: 476.94 GiB used: 228.4 GiB (47.9%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung
    model: MZVLB512HBJQ-000L2 size: 476.94 GiB block-size: physical: 512 B
    logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter>
    rev: 3L1QEXF7 temp: 47.9 C scheme: GPT
Partition:
  ID-1: / raw-size: 379.01 GiB size: 379.01 GiB (100.00%)
    used: 228.37 GiB (60.3%) fs: btrfs dev: /dev/nvme0n1p5 maj-min: 259:5
  ID-2: /boot/efi raw-size: 260 MiB size: 256 MiB (98.46%)
    used: 29.3 MiB (11.4%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
  ID-3: /home raw-size: 379.01 GiB size: 379.01 GiB (100.00%)
    used: 228.37 GiB (60.3%) fs: btrfs dev: /dev/nvme0n1p5 maj-min: 259:5
  ID-4: /var/log raw-size: 379.01 GiB size: 379.01 GiB (100.00%)
    used: 228.37 GiB (60.3%) fs: btrfs dev: /dev/nvme0n1p5 maj-min: 259:5
  ID-5: /var/tmp raw-size: 379.01 GiB size: 379.01 GiB (100.00%)
    used: 228.37 GiB (60.3%) fs: btrfs dev: /dev/nvme0n1p5 maj-min: 259:5
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
  ID-1: swap-1 type: zram size: 11.25 GiB used: 1.2 MiB (0.0%) priority: 100
    dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 52.0 C mobo: N/A
  Fan Speeds (RPM): N/A
Info:
  Processes: 366 Uptime: 22m wakeups: 61924 Memory: 11.25 GiB
  used: 3.56 GiB (31.7%) Init: systemd v: 253 default: graphical
  tool: systemctl Compilers: gcc: 13.1.1 clang: 15.0.7 Packages: 2826
  pm: pacman pkgs: 2801 libs: 503 tools: gnome-software,pamac,paru pm: flatpak
  pkgs: 25 Shell: fish v: 3.6.1 default: Bash v: 5.1.16 running-in: konsole
  inxi: 3.3.26
Garuda (2.6.16-1):
  System install date:     2021-11-23
  Last full system update: 2023-05-08 ↻
  Is partially upgraded:   No
  Relevant software:       timeshift tlp NetworkManager mkinitcpio
  Windows dual boot:       Probably (Run as root to verify)
  Failed units:            

Looks like you need to reboot.

3 Likes

Installing two desktop environments on the same system is a high risk configuration and common source of troubles.
If Gnome works but KDE doesn’t the culprit is in something between the two, not on konsole, which seems to me to have no relation with that library.
You should check which packages depend directly or indirectly on that library, but unfortunately you’ll have to fix it by yourself…

4 Likes

The problem began after doing a reboot. I did update the system again after successfully getting to gnome, but that didn't fix it. Just did another reboot to check and, if I remove the manual symlink I made, the problem persists.

Installing two desktop environments on the same system is a high risk configuration and common source of troubles.

I suppose that makes sense. pactree -r libplist states that both gnome and KDE packages rely on it.

However, it isn’t as though installing libplist without any gnome packages will make it contain the libplist-2.0.so.3 file (which does appear necessary for konsole). So I was more trying to understand how this could come to be an issue at all, and (assuming the reason I ran into this and no one else did is because I have 2 DEs) how it would successfully work on a system without Gnome.

unfortunately you’ll have to fix it by yourself…

Already did as detailed by the post. Should I have posted somewhere other than Issues and Assistance?

Glad you fixed it, no problem.
I'd just like to point out, to the broader readers/audience, that, in general, fixing a problem by symlinking is a risk, maybe a temporary workaround. Libraries receive soname bumps when they are not backwards compatible.
Don't worry about the category. Starting from issues & assistance is fine. We move it as needed. If it will become clear that the issue is KDE specific I'll move it back.

3 Likes

So I have only KDE but a similar experience after updating . . . except nothing will run and I can't reboot or log out after the update. If I force it to shut down then I get the same default screen with the same inability to log in and this message:

"The current theme cannot be loaded due to the errors below, please select another theme.

file:///usr/share/sddm/themes/NetLogin/Main.qml:9:1: plugin cannot be loaded for module "org.kde.plasma.core": Cannot load library /usr/lib/qt/qml/org/kde/plasma/core/
libcorebindingsplugin.so: (libplist-2.0.so.4: cannot open shared object file: No such file or directory)"

This could be a different problem (giving a quick look at the pactree for libplist yesterday I saw it’s used indirectly by a lot of packages, going primarily into KDE, but also Gnome).

This theme seems to be quite old (not updated since more than 2 years).
I haven’t been able to (quickly) find their github, but I assume something might need to be fixed there.
You should be able to boot to a tty and, from the command line, install/configure a different theme.
Also startx from the command line might work and give you a graphical session.
Additionally

This should be available, if your system is updated, provided by libplist:
https://archlinux.org/packages/extra/x86_64/libplist/
In my opinion it would be cleaner to open a new topic for this.

4 Likes