Garuda-update failed to prepare transation because of libxml2

Hi everbody,

I was about to garuda-update my system. But it ran into a problem:

error: failed to prepare transaction (could not satisfy dependencies)
:: unable to satisfy dependency 'libxml2.so=2-64' required by electron33
:: installing libxml2 (2.14.2-2) breaks dependency 'libxml2.so=2-64' required by electron27
:: installing libxml2 (2.14.2-2) breaks dependency 'libxml2.so=2-64' required by electron31
:: installing libxml2 (2.14.2-2) breaks dependency 'libxml2.so=2-64' required by electron32
:: installing libxml2 (2.14.2-2) breaks dependency 'libxml2.so=2-64' required by electron34
:: installing libxml2 (2.14.2-2) breaks dependency 'libxml2.so=2-64' required by electron35
:: installing libelf (0.193-2) breaks dependency 'libelf=0.192' required by lib32-libelf
:: installing libxml2 (2.14.2-2) breaks dependency 'libxml2.so=2-64' required by librest
:: installing libxml2 (2.14.2-2) breaks dependency 'libxml2.so=2-64' required by openconnect
:: installing libxml2 (2.14.2-2) breaks dependency 'libxml2.so=2-64' required by sane

As I just figured out, these electron packages are unused baggage. I just removed them. It seems like, these electron packages quickly become outdated and don’t get removed automatically. I also had an “electron” package which I removed.

The “sane” package is ultimately used by Garuda’s scanner-support and kolourpaint. “lib32-libelf” is for 32-bit support in graphics drivers (lib32-vulkan-radeon, lib32-mesa, lib32-gstreamer). I am not using AMD tech yet, the radeon one could be safe to remove. For the others, I don’t know. “librest” is ultimately required by “virt-viewer” (not sure what it does). “openclient” is ultimately used by Garuda’s “networkmanager-support”.

Do you use alternative packages?

FYI, here is the garuda-inxi

System:
Kernel: 6.14.4-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 14.2.1
clocksource: tsc avail: acpi_pm
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
root=UUID=11d26dd1-3904-490b-9e30-1b11c6731dc0 rw rootflags=subvol=@
rd.udev.log_priority=3 vt.global_cursor_default=0 loglevel=3
sysrq_always_enabled=1 ibt=off
Desktop: KDE Plasma v: 6.3.4 tk: Qt v: N/A info: frameworks v: 6.13.0
wm: kwin_wayland vt: 1 dm: SDDM Distro: Garuda base: Arch Linux
Machine:
Type: Detachable System: SHIFT product: SHIFT13mi v: N/A
serial: <superuser required>
Mobo: SHIFT model: SHIFT13mi-pcb v: 06 serial: <superuser required>
part-nu: 0752454247011 uuid: <superuser required> UEFI: American Megatrends
LLC. v: 5.19 date: 01/13/2023
Battery:
ID-1: BAT0 charge: 12.3 Wh (66.5%) condition: 18.5/53.9 Wh (34.3%)
volts: 11.7 min: 11.6 model: Intel SR 1 SR Real Battery type: Unknown
serial: <filter> status: discharging
CPU:
Info: model: 11th Gen Intel Core i5-1135G7 bits: 64 type: MT MCP
arch: Tiger Lake gen: core 11 level: v4 note: check built: 2020
process: Intel 10nm family: 6 model-id: 0x8C (140) stepping: 1
microcode: 0xB8
Topology: cpus: 1x dies: 1 clusters: 4 cores: 4 threads: 8 tpc: 2
smt: enabled cache: L1: 320 KiB desc: d-4x48 KiB; i-4x32 KiB L2: 5 MiB
desc: 4x1.2 MiB L3: 8 MiB desc: 1x8 MiB
Speed (MHz): avg: 400 min/max: 400/4200 scaling: driver: intel_pstate
governor: powersave cores: 1: 400 2: 400 3: 400 4: 400 5: 400 6: 400 7: 400
8: 400 bogomips: 38707
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Vulnerabilities: <filter>
Graphics:
Device-1: Intel TigerLake-LP GT2 [Iris Xe Graphics] driver: i915 v: kernel
alternate: xe arch: Xe process: Intel 10nm built: 2020-21 ports:
active: eDP-1 empty: DP-1, DP-2, DP-3, DP-4, DP-5, HDMI-A-1
bus-ID: 00:02.0 chip-ID: 8086:9a49 class-ID: 0300
Device-2: Orbbec 3D USB 2.0 Camera driver: snd-usb-audio,uvcvideo
type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-5:2
chip-ID: 2bc5:051e class-ID: 0102 serial: <filter>
Display: wayland server: X.org v: 1.21.1.16 with: Xwayland v: 24.1.6
compositor: kwin_wayland driver: X: loaded: modesetting
alternate: fbdev,intel,vesa dri: iris gpu: i915 display-ID: 0
Monitor-1: eDP-1 model: BOE Display 0x08dd built: 2019 res:
mode: 1920x1080 hz: 60 scale: 100% (1) dpi: 166 gamma: 1.2
size: 294x165mm (11.57x6.5") diag: 337mm (13.3") ratio: 16:9
modes: 1920x1080
API: EGL v: 1.5 hw: drv: intel iris platforms: device: 0 drv: iris
device: 1 drv: swrast gbm: drv: iris surfaceless: drv: iris wayland:
drv: iris x11: drv: iris
API: OpenGL v: 4.6 compat-v: 4.5 vendor: intel mesa v: 25.0.4-arch1.1
glx-v: 1.4 direct-render: yes renderer: Mesa Intel Iris Xe Graphics (TGL
GT2) device-ID: 8086:9a49 memory: 15.18 GiB unified: yes display-ID: :1.0
API: Vulkan v: 1.4.309 layers: 6 device: 0 type: integrated-gpu name: Intel
Iris Xe Graphics (TGL GT2) driver: mesa intel v: 25.0.4-arch1.1
device-ID: 8086:9a49 surfaces: xcb,xlib,wayland device: 1 type: cpu
name: llvmpipe (LLVM 19.1.7 256 bits) driver: mesa llvmpipe
v: 25.0.4-arch1.1 (LLVM 19.1.7) device-ID: 10005:0000
surfaces: xcb,xlib,wayland
Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo
de: kscreen-console,kscreen-doctor wl: wayland-info
x11: xdpyinfo, xprop, xrandr
Audio:
Device-1: Intel Tiger Lake-LP Smart Sound Audio driver: snd_hda_intel
v: kernel alternate: snd_soc_avs,snd_sof_pci_intel_tgl bus-ID: 00:1f.3
chip-ID: 8086:a0c8 class-ID: 0403
Device-2: Orbbec 3D USB 2.0 Camera driver: snd-usb-audio,uvcvideo
type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-5:2
chip-ID: 2bc5:051e class-ID: 0102 serial: <filter>
API: ALSA v: k6.14.4-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: 1.4.2 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 Wi-Fi 6 AX201 driver: iwlwifi v: kernel bus-ID: 00:14.3
chip-ID: 8086:a0f0 class-ID: 0280
IF: wlo1 state: up mac: <filter>
Info: services: NetworkManager, smbd, systemd-timesyncd, wpa_supplicant
Bluetooth:
Device-1: Intel AX201 Bluetooth driver: btusb v: 0.8 type: USB rev: 2.0
speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 3-10:4 chip-ID: 8087:0026
class-ID: e001
Report: btmgmt ID: hci0 rfk-id: 0 state: up address: <filter> bt-v: 5.2
lmp-v: 11 status: discoverable: no pairing: no class-ID: 6c0000
Drives:
Local Storage: total: 953.87 GiB used: 258.29 GiB (27.1%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Lexar model: SSD NM6A1 1TB
size: 953.87 GiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s
lanes: 4 tech: SSD serial: <filter> fw-rev: V1.25D temp: 42.9 C
scheme: GPT
Partition:
ID-1: / raw-size: 48.14 GiB size: 48.14 GiB (100.00%)
used: 26.13 GiB (54.3%) fs: btrfs dev: /dev/nvme0n1p7 maj-min: 259:6
ID-2: /boot/efi raw-size: 501 MiB size: 500 MiB (99.80%)
used: 612 KiB (0.1%) fs: vfat dev: /dev/nvme0n1p6 maj-min: 259:5
ID-3: /home raw-size: 280.27 GiB size: 280.27 GiB (100.00%)
used: 232.15 GiB (82.8%) fs: btrfs dev: /dev/nvme0n1p8 maj-min: 259:7
ID-4: /var/log raw-size: 48.14 GiB size: 48.14 GiB (100.00%)
used: 26.13 GiB (54.3%) fs: btrfs dev: /dev/nvme0n1p7 maj-min: 259:6
ID-5: /var/tmp raw-size: 48.14 GiB size: 48.14 GiB (100.00%)
used: 26.13 GiB (54.3%) fs: btrfs dev: /dev/nvme0n1p7 maj-min: 259:6
Swap:
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
ID-1: swap-1 type: zram size: 31.08 GiB used: 27.3 MiB (0.1%)
priority: 100 comp: zstd avail: lzo-rle,lzo,lz4,lz4hc,deflate,842
max-streams: 8 dev: /dev/zram0
ID-2: swap-2 type: partition size: 3.91 GiB used: 0 KiB (0.0%)
priority: -2 dev: /dev/nvme0n1p9 maj-min: 259:8
Sensors:
System Temperatures: cpu: 34.0 C mobo: N/A
Fan Speeds (rpm): N/A
Info:
Memory: total: 32 GiB note: est. available: 31.08 GiB used: 7.41 GiB (23.8%)
Processes: 323 Power: uptime: 23m states: freeze,mem,disk suspend: s2idle
avail: deep wakeups: 0 hibernate: platform avail: shutdown, reboot,
suspend, test_resume image: 12.41 GiB services: org_kde_powerdevil,
power-profiles-daemon, upowerd Init: systemd v: 257 default: graphical
tool: systemctl
Packages: pm: pacman pkgs: 2493 libs: 578 tools: pamac,paru Compilers:
clang: 19.1.7 gcc: 14.2.1 Shell: garuda-inxi default: Bash v: 5.2.37
running-in: konsole inxi: 3.3.38
Garuda (2.7.2-1):
System install date:     2023-04-30
Last full system update: 2025-04-27
Is partially upgraded:   No
Relevant software:       snapper NetworkManager dracut
Windows dual boot:       Probably (Run as root to verify)
Failed units:

Regards, Elmar.

Now I have removed orphaned dependency packages with pacman. Oof, I hope the system will still reboot.

I concocted this command

sudo pacman -Rn $(sudo pacman -Qdt | cut -d' ' -f1 | tr '\n' ' ')

(Actually I forgot the ‘n’ after the -R, but you shouldn’t forget it. It prevents removal of packages which are still required by others, for satefy.)

Did you search about in forum?
Just use cleanup in terminal.

5 Likes

Oh cool, I almost assumed, you guys have such a utility.

Lucky, the ninja command worked out. It reboots and my system garuda-updates again!

Oh, the cleanup alias does exactly that :smile: but recursively with -Rns instead.

Grßessäch Elmar,
I ran into this same issue rn too, but doing the cleanup thing still spits out:

error: failed to prepare transaction (could not satisfy dependencies)
:: installing libxml2 (2.14.2-2) breaks dependency 'libxml2.so=2-64' required by electron34
:: installing libelf (0.193-2) breaks dependency 'libelf=0.192' required by lib32-libelf
:: installing libxml2 (2.14.2-2) breaks dependency 'libxml2.so=2-64' required by librest
:: installing libxml2 (2.14.2-2) breaks dependency 'libxml2.so=2-64' required by openconnect
:: installing libxml2 (2.14.2-2) breaks dependency 'libxml2.so=2-64' required by sane

Am I missing something?

LG, Pep

Just wait (or possibly change mirrors), it’ll sort itself out shortly. Mine cleared about 30 minutes ago.

Hey pep,

electron34 was unused on my system. You can check it with

sudo pacman -Qi electron34 | grep -i 'required by'

If so, you can uninstall it to your liking. I couldn’t find it on bauh (under the query “electron”) so I used sudo pacman -Rn electron34 for example.

The other blockers in your error message actually went away on my system after I executed my command. There is a tiny quirks in Garuda’s cleanup which actually shouldn’t affect it’s functionality. It uses sudo pacman -Rns $(sudo pacman -Qdtq) without the cut (version numbers are passed to the pacman remove command). I don’t know what else could help because the cleanup would actually remove all automatically installed packages which became orphans (i.e. are not used anymore).

1 Like

We use a better, not so strict one, since some month IIRC.

# Cleanup local orphaned packages
function cleanup
    while pacman -Qdtq
        sudo pacman -R (pacman -Qdtq)
    end
end
3 Likes

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