Description of problem: Installing and removing gpgme1.22 from epel leaves broken symlinks in place, which break all dnf functionality. Version-Release number of selected component (if applicable): 1.22.0-2.el9 How reproducible: Always. Steps to Reproduce: $ sudo dnf install epel-release $ sudo dnf install gpgme1.22 $ dnf --version $ sudo dnf remove gpgme1.22 $ dnf --version Actual results: $ dnf --version Traceback (most recent call last): File "/usr/bin/dnf", line 61, in <module> from dnf.cli import main File "/usr/lib/python3.9/site-packages/dnf/__init__.py", line 30, in <module> import dnf.base File "/usr/lib/python3.9/site-packages/dnf/base.py", line 29, in <module> import libdnf.transaction File "/usr/lib64/python3.9/site-packages/libdnf/__init__.py", line 12, in <module> from . import conf File "/usr/lib64/python3.9/site-packages/libdnf/conf.py", line 13, in <module> from . import _conf ImportError: libgpgme.so.11: cannot open shared object file: No such file or directory Expected results: $ dnf --version $ echo $? 0 Additional info: Originally ran into this on a dev almalinux 9 box, but verified that I can reproduce this on rhel9 as well. dnf tries to open: $ sudo strace -f dnf --version 2>&1 | grep gpgme openat(AT_FDCWD, "/lib64/libgpgme.so.11", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib64/glibc-hwcaps/x86-64-v3/libgpgme.so.11", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib64/glibc-hwcaps/x86-64-v2/libgpgme.so.11", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib64/tls/x86_64/x86_64/libgpgme.so.11", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib64/tls/x86_64/libgpgme.so.11", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib64/tls/x86_64/libgpgme.so.11", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib64/tls/libgpgme.so.11", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib64/x86_64/x86_64/libgpgme.so.11", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib64/x86_64/libgpgme.so.11", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib64/x86_64/libgpgme.so.11", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib64/libgpgme.so.11", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib64/glibc-hwcaps/x86-64-v3/libgpgme.so.11", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib64/glibc-hwcaps/x86-64-v2/libgpgme.so.11", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib64/tls/x86_64/x86_64/libgpgme.so.11", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib64/tls/x86_64/libgpgme.so.11", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib64/tls/x86_64/libgpgme.so.11", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib64/tls/libgpgme.so.11", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib64/x86_64/x86_64/libgpgme.so.11", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib64/x86_64/libgpgme.so.11", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib64/x86_64/libgpgme.so.11", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib64/libgpgme.so.11", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) write(2, "ImportError: libgpgme.so.11: can"..., 87ImportError: libgpgme.so.11: cannot open shared object file: No such file or directory This can be fixed manually at least with: $ sudo su $ cd /usr/lib64 $ unlink libgpgme.so.11 $ ln -s libgpgme.so.11.24.1 libgpgme.so.11 Cheers, Juho
Well ... that's not good. Thank you for letting me know.