Cannot install lib32-libelf

I was having some conflicts updating due to lib32-libelf so I updated mirrors and tried again but no luck. I then tried reinstalling libelf, disabled multilib repository (enabled it again after testing), and finally removed lib32-libelf to try and reinstall. Now I see this when trying to reinstall:

sudo pacman -S lib32-libelf
resolving dependencies...
warning: cannot resolve "libelf=0.192", a dependency of "lib32-libelf"
:: The following package cannot be upgraded due to unresolvable dependencies:
      lib32-libelf

:: Do you want to skip the above package for this upgrade? [y/N] y
looking for conflicting packages...
 there is nothing to do

Also searched Endeavour and Arch forums for help, but nothing I can find has been the answer. I appreciate a bit of help with this.

inxi -FAZ

libelf 0.192-1 is currently only available via core-testing and lib32-libelf in multilib-testing respectively.

libelf 0.191-4 is flagged as out of date since saturday in core. And there is a version mismatch to the multilib package lib32-libelf 0.191-1. But that doesn’t seems to be an issue.

libelf is actually part of libutils, thus you could try to resolve that dependency by removing lib32-libelf as well as libutils and reinstalling them.

Have you included any of the testing repos ?

Yes, I see [multilib-testing] is in use in my pacman.conf

I’ll give your suggestion a try also.

Can you share your pacman.conf?

Yes, hopefully copy/paste is acceptable. :laughing:
An experienced look at this may be very helpful because this is what happened when I tried to remove or install libutils:

[kelltech@kelltech-delta1 ~]$ sudo pacman -R libutils
error: target not found: libutils
[kelltech@kelltech-delta1 ~]$ sudo pacman -S libutils
error: target not found: libutils

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

#
# GENERAL OPTIONS
#
[options]
# 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 dracut kernel-install-for-dracut eos-dracut
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
Architecture = auto

#IgnorePkg   =
#IgnorePkg   =
#IgnoreGroup =

#NoUpgrade   =
#NoExtract   =

# Misc options
#UseSyslog
Color
ILoveCandy
#NoProgressBar
#CheckSpace
VerbosePkgLists
ParallelDownloads = 5
DownloadUser = alpm
#DisableSandbox

# 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`.

#
# REPOSITORIES
#   - 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.

[endeavouros]
SigLevel = PackageRequired
Include = /etc/pacman.d/endeavouros-mirrorlist

#[core-testing]
#Include = /etc/pacman.d/mirrorlist

[core]
Include = /etc/pacman.d/mirrorlist

#[extra-testing]
#Include = /etc/pacman.d/mirrorlist

[extra]
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.

[multilib-testing]
Include = /etc/pacman.d/mirrorlist

[multilib]
Include = /etc/pacman.d/mirrorlist

# An example of a custom package repository.  See the pacman manpage for
# tips on creating your own repositories.
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs

You should enable all the testing repos or none of them. You shouldn’t enable only multilib testing.

If you do, you can have dependency mismatches.

1 Like

Generally it’s not advised to use the testing repositories at all.

That has been the reason for the unresolved dependency in the first place.

1 Like

Problem solved, thank you both! I disabled all testing repos and updated mirrors, reinstalled lib32-libelf all is well. :clap:

1 Like

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