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.

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.

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