Installing libelf (0.185-1) breaks dependency 'libelf=0.184'

I am having similar issues but with a different package:

looking for conflicting packages...
error: failed to prepare transaction (could not satisfy dependencies)
:: installing libelf (0.185-1) breaks dependency 'libelf=0.184' required by lib32-libelf

System:    Kernel: 5.12.9-1-cacule x86_64 bits: 64 compiler: gcc v: 11.1.0 
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-cacule root=UUID=6bffdc79-d9cf-4de9-a3aa-58bbfb0e7a9c rw 
rootflags=subvol=@ quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0 
systemd.unified_cgroup_hierarchy=1 loglevel=3 intel_iommu=on iommu=pt kvm.ignore_msrs=1 intel_pstate=enable 
Console: tty pts/1 wm: kwin_x11 DM: SDDM Distro: Garuda Linux base: Arch Linux 
Machine:   Type: Laptop System: Dell product: G3 3590 v: N/A serial: <filter> Chassis: type: 10 serial: <filter> 
Mobo: Dell model: 0DKM3T v: A00 serial: <filter> UEFI: Dell v: 1.8.0 date: 11/11/2019 
Battery:   ID-1: BAT0 charge: 21.2 Wh (50.2%) condition: 42.2/51.0 Wh (82.8%) volts: 10.4 min: 11.4 model: BYD DELL M4GWP98 
type: Li-poly serial: <filter> status: Discharging 
CPU:       Info: 6-Core model: Intel Core i7-9750H socket: BGA1440 (U3E1) note: check bits: 64 type: MT MCP arch: Kaby Lake 
note: check family: 6 model-id: 9E (158) stepping: A (10) microcode: DE cache: L1: 384 KiB L2: 12 MiB L3: 12 MiB 
flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 62399 
Speed: 2601 MHz min/max: 800/2600 MHz base/boost: 2600/2600 volts: 0.9 V ext-clock: 100 MHz Core speeds (MHz): 
1: 2601 2: 2600 3: 2600 4: 2601 5: 2601 6: 2600 7: 2600 8: 2600 9: 2044 10: 2600 11: 1579 12: 2600 
Vulnerabilities: Type: itlb_multihit status: KVM: VMX disabled 
Type: l1tf mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable 
Type: mds mitigation: Clear CPU buffers; SMT vulnerable 
Type: meltdown mitigation: PTI 
Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via prctl and seccomp 
Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization 
Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional, IBRS_FW, STIBP: conditional, RSB filling
Type: srbds mitigation: Microcode
Type: tsx_async_abort status: Not affected
Graphics:  Device-1: Intel UHD Graphics 630 vendor: Dell driver: i915 v: kernel bus-ID: 00:02.0 chip-ID: 8086:3e9b
class-ID: 0300
Device-2: NVIDIA TU116M [GeForce GTX 1660 Ti Mobile] vendor: Dell driver: vfio-pci v: 0.2
alternate: nouveau,nvidia_drm,nvidia bus-ID: 01:00.0 chip-ID: 10de:2191 class-ID: 0300
Device-3: Realtek Integrated_Webcam_HD type: USB driver: uvcvideo bus-ID: 1-5:2 chip-ID: 0bda:5521 class-ID: 0e02
serial: <filter>
Display: server: X.Org 1.20.11 compositor: kwin_x11 driver: loaded: intel unloaded: modesetting
alternate: fbdev,vesa display-ID: :0 screens: 1
Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.0x11.2") s-diag: 582mm (22.9")
Monitor-1: eDP1 res: 1920x1080 hz: 60 dpi: 143 size: 340x190mm (13.4x7.5") diag: 389mm (15.3")
OpenGL: renderer: Mesa Intel UHD Graphics 630 (CFL GT2) v: 4.6 Mesa 21.1.1 direct render: Yes
Audio:     Device-1: Intel Cannon Lake PCH cAVS vendor: Dell driver: sof-audio-pci-intel-cnl
alternate: snd_hda_intel,snd_soc_skl,snd_sof_pci_intel_cnl bus-ID: 00:1f.3 chip-ID: 8086:a348 class-ID: 0401
Device-2: NVIDIA TU116 High Definition Audio vendor: Dell driver: snd_hda_intel v: kernel bus-ID: 01:00.1
chip-ID: 10de:1aeb class-ID: 0403
Sound Server-1: ALSA v: k5.12.9-1-cacule running: yes
Sound Server-2: JACK v: 0.125.0 running: no
Sound Server-3: PulseAudio v: 14.2 running: yes
Sound Server-4: PipeWire v: 0.3.29 running: no
Network:   Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: Dell driver: r8169 v: kernel port: 3000
bus-ID: 03:00.0 chip-ID: 10ec:8168 class-ID: 0200
IF: enp3s0 state: down mac: <filter>
Device-2: Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter vendor: Dell driver: ath10k_pci v: kernel
port: 3000 bus-ID: 04:00.0 chip-ID: 168c:0042 class-ID: 0280
IF: wlp4s0 state: up mac: <filter>
IF-ID-1: virbr0 state: down mac: <filter>
Bluetooth: Device-1: Qualcomm Atheros type: USB driver: btusb v: 0.8 bus-ID: 1-14:3 chip-ID: 0cf3:e009 class-ID: e001
Report: bt-adapter ID: hci0 rfk-id: 0 state: up address: <filter>
Drives:    Local Storage: total: 1.38 TiB used: 1.11 TiB (81.0%)
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Western Digital model: PC SN520 NVMe WDC 512GB size: 476.94 GiB
block-size: physical: 512 B logical: 512 B speed: 15.8 Gb/s lanes: 2 rotation: SSD serial: <filter> rev: 20220012
temp: 76 Celsius C scheme: MBR
SMART: yes health: PASSED on: 164d 18h cycles: 1,321 read-units: 57,625,313 [29.5 TB]
written-units: 95,649,448 [48.9 TB]
ID-2: /dev/sda maj-min: 8:0 vendor: Seagate model: ST1000LM035-1RK172 family: Mobile HDD size: 931.51 GiB
block-size: physical: 4096 B logical: 512 B sata: 3.1 speed: 6.0 Gb/s rotation: 5400 rpm serial: <filter> rev: ACM1
temp: 44 C scheme: GPT
SMART: yes state: enabled health: PASSED on: 2y 62d 10h cycles: 3373 read: 52.52 TiB written: 38.72 TiB Old-Age:
g-sense error rate: 330 Pre-Fail: attribute: Spin_Retry_Count value: 100 worst: 100 threshold: 97
Partition: ID-1: / raw-size: 476.64 GiB size: 476.64 GiB (100.00%) used: 368.23 GiB (77.3%) fs: btrfs block-size: 4096 B
dev: /dev/nvme0n1p2 maj-min: 259:2
ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%) used: 568 KiB (0.2%) fs: vfat block-size: 512 B
dev: /dev/nvme0n1p1 maj-min: 259:1
ID-3: /home raw-size: 476.64 GiB size: 476.64 GiB (100.00%) used: 368.23 GiB (77.3%) fs: btrfs block-size: 4096 B
dev: /dev/nvme0n1p2 maj-min: 259:2
ID-4: /var/log raw-size: 476.64 GiB size: 476.64 GiB (100.00%) used: 368.23 GiB (77.3%) fs: btrfs
block-size: 4096 B dev: /dev/nvme0n1p2 maj-min: 259:2
ID-5: /var/tmp raw-size: 476.64 GiB size: 476.64 GiB (100.00%) used: 368.23 GiB (77.3%) fs: btrfs
block-size: 4096 B dev: /dev/nvme0n1p2 maj-min: 259:2
Swap:      Alert: No swap data was found.
Sensors:   System Temperatures: cpu: 75.0 C mobo: N/A
Fan Speeds (RPM): N/A
Info:      Processes: 306 Uptime: 26m wakeups: 672 Memory: 15.43 GiB used: 4.86 GiB (31.5%) Init: systemd v: 248
tool: systemctl Compilers: gcc: 11.1.0 clang: 11.1.0 Packages: pacman: 1795 lib: 553 Shell: fish (sudo) v: 3.2.2
default: Bash v: 5.1.8 running-in: konsole inxi: 3.3.04
1 Like

Funny, my KDE upd with lib32-libelf-0.185-1work fine incl. timeshift snapshot.
On i3 i have this too.

Three posts about in Web didn't slove the Problem.

I Had same problem

looking for conflicting packages...
error: failed to prepare transaction (could not satisfy dependencies)
:: installing libelf (0.185-1) breaks dependency 'libelf=0.184' required by lib32-libelf


I fixed it with editing etc/pacman.conf and enabled the multilib repos's


I check Yesterday conf settings, both (kde, i3) are same. I can test later, ty :slight_smile:


It was already set like this for me, the same error, with and without #.

Did you un comment both lines in pacman.conf for 32bit multilib

Include = /etc/pacman.d/mirrorlist

Its just a thought as libelf / elfutils can use 32bit library's
and your update in a later post does not show it enabled


OMG :rofl: :rofl: :rofl: :rofl: :rofl:
you are right, thanks a lot.

Sometimes you can't see the wood for the trees. :wink:

Manchmal sieht man den Wald vor lauter Bäumen nicht.


Do we really need this multilib stuff, which seems to be for 32bit applications compatibility?
There are also instructions to completely remove It, but I wouldn't dare, of course, just for info...
I see e.g. wine and steam might need It


Its not required unless you want to install applications which depend on it - WINE for example is such a case. The Garuda settings manager also depends on lib32 stuff so a default installation has it enabled :slight_smile:


Glad you, asked for confirmation on the uncommenting of the multilib, I had the same mistake @SGS had lol :rofl: :rofl: :rofl:

I do want to recommend Garuda to friends and family but it ain't maintenance free. Why 32 bit repo was disabled if 32bit apps are in use? I didn't tweak anything, all is out of the box. Such stupid errors are a deal breakers.

Probably the pacman 6 update introduced a new pacman.conf which hasnt been processed properly :eyes:

1 Like

Never recommend arch unless you really know the person LOVES diy.

1 Like

It seems it was commented in the new conf.
So it was a matter of proper merging.
At least we'll know what to do next time :blush:


Linux isn't. Give them iOS or macOS instead.

You removed it from your pacman.conf.

No comment.


new pacman.conf came with it disabled. I did remove it in only in a sense that I said "YES" to a question if I want to overwrite the old one. I did not manually edit it out. but it is the easiest blame the user

In the announcement about this update was a quite precise instruction on how to properly find and migrate the settings. Reading those doesnt hurt :wink:



sudo pacman -Syu
[sudo] password for yoda:
warning: config file /etc/pacman.d/mirrorlist, line 11: directive 'Server' in section 'options' not recognized
warning: config file /etc/pacman.d/mirrorlist, line 14: directive 'Server' in section 'options' not recognized
warning: config file /etc/pacman.d/mirrorlist, line 17: directive 'Server' in section 'options' not recognized
warning: config file /etc/pacman.d/mirrorlist, line 20: directive 'Server' in section 'options' not recognized
warning: config file /etc/pacman.conf, line 88: directive 'enable the multilib repositories as required here.'
in section 'community' not recognized.
:: Synchronizing package databases...
core is up to date
extra is up to date
community is up to date
:: Starting full system upgrade...
warning: electron9: local (9.4.4-2) is newer than community (9.4.4-1)
:: Replace libcanberra-pulse with extra/libcanberra? [Y/n]

I t tries to follow some advices by commenting or uncommenting stuff and the result is now :

# /etc/pacman.conf
# See the pacman.conf(5) manpage for option and repository directives

# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir     = /
#DBPath      = /var/lib/pacman/
#CacheDir    = /var/cache/pacman/pkg/
#LogFile     = /var/log/pacman.log
#GPGDir      = /etc/pacman.d/gnupg/
#HookDir     = /etc/pacman.d/hooks/
HoldPkg     = pacman glibc
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
Architecture = auto

# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg   =
#IgnoreGroup =

#NoUpgrade   =
#NoExtract   =

# Misc options
#ParallelDownloads = 5

# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel    = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required

# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official Arch Linux
# packagers with `pacman-key --populate archlinux`.

#   - can be defined here or included from another file
#   - pacman will search repositories in the order defined here
#   - local/custom mirrors can be added here or in separate files
#   - repositories listed first will take precedence when packages
#     have identical names, regardless of version number
#   - URLs will have $repo replaced by the name of the current repo
#   - URLs will have $arch replaced by the name of the architecture
# Repository entries are of the format:
#       [repo-name]
#       Server = ServerName
#       Include = IncludePath
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.

# The testing repositories are disabled by default. To enable, uncomment the
# repo name header and Include lines. You can add preferred servers immediately
# after the header, and they will be used before the default mirrors.

# Include = /etc/pacman.d/mirrorlist

# Include = /etc/pacman.d/mirrorlist

Include = /etc/pacman.d/mirrorlist

#Include = /etc/pacman.d/mirrorlist

Include = /etc/pacman.d/mirrorlist

# If you want to run 32 bit applications on your x86_64 system,
enable the multilib repositories as required here.

#Include = /etc/pacman.d/mirrorlist

#Include = /etc/pacman.d/mirrorlist

# An example of a custom package repository.  See the pacman manpage for
# tips on creating your own repositories.
#SigLevel = Optional TrustAll

If you include terminal outputs in your post please use the proper output format in your post. Using "~" 3 times above and "~" 3 times below the text block will provide a readable, raw look.

Include = /etc/pacman.d/mirrorlist
1 Like

Look more closely at what you've done one the sixth line here.