Broken Update: Pacman Broken due to libgpgme.so.11: file too short, but Pacman-static fails due to key issue

Hello,

I have been using EndeavourOS for almost exactly one year now and it has been great. Unfortunately something went (severely) wrong while updating two days ago. While yay -Syu was running, I closed an application (Spotify) and a series of errors were thrown in the terminal where yay was running. After a few seconds, the command in the terminal stopped outputting anything. After multiple minutes of nothing happening, I attempted to stop the yay command in the terminal, but nothing occurred. Further, the system was not responding to keyboard or mouse inputs (even trying to switch to console only mode failed). An interesting thing that happened here was all text changed to squares - someone else has seen this occur before on this forum but I can’t seem to find the exact thread right now - perhaps its related?

At this point I force rebooted the system and was met with system no longer being able to boot from grub - it reports that /boot/vmlinuz-linux not found.

I did some investigation into what steps may be taken to resolve the system from this state. I obtained a fresh iso and booted into the live usb. On that USB, I began to attempt a series of recovery steps.

  1. Mounted the system root, home, and boot partitions.
  2. Ran sudo arch-chroot /mnt
  3. Attempted to run yay
  4. Met with this error:yay: error while loading shared libraries: /usr/lib/libgpgme.so.11: file too short
  5. Downloaded pacman-static binaries
  6. Attempted to run ./pacman-static -Syu
  7. Received this error: error: dav1d: signature from "Robin Candau <antiz@archlinux.org>"z is unknown trust :: File /var/cache/pacman/pkg/dav1d-1.5.1-1-x86_64.pkg.tar.zst is corrupted (invalid or corrupted package (PGP signature)).
  8. A brief search brought me to the https://wiki.archlinux.org/title/Pacman/Package_signing#Troubleshooting section on the Arch wiki.
  9. I followed the steps there. First, I checked time synchronization - was definitely wrong, but easily fixed. Issue persisted.
  10. Removed culprit packages from cache (some of them were not there at all, oddly). Issue persisted.
  11. Tried to run pacman-key --init - failed pacman-conf: error while loading shared libraries: /usr/lib/libgpgme.so.11: file too short
  12. This looked similar to the error in step 4.

This is where I am at - I am using pacman-static because normal pacman appears broken, but because of the issue underlying the broken pacman, I am unable to re-initialize the keys.

Would really appreciate some insight into how to proceed here.

TLDR: pacman or yay fails due to libgpgme.so missing, attempted fix by using pacman-static which fails due to invalid-keys (I think), but am unable to run pacman-key for sam reason as pacman or yay failing.

Thank you in advance for any assistance!

i am sry for what went on with that i hope it gite baster for

Dont know, but : pkgfile (that libgpme.so) , what is the owner if you had cache pacrepairdb (that package outcome of pacman -Qo of pkgfile)

Just curius

Here’s what I found:

When I chroot into the broken installation and run ./pacman-static -Qo pkgfile:

/usr/bin/pkgfile is owned by pkgfile 22-1

(running just pacman -Qo pkgfile did not work)

Does this information help? I am not 100% sure what you mean by cache pacrepairdb - pacrepairdb program fails due to the libgpgme file too short error as well.

When I run ./pacman-static -Qo /var/cache/pacman/pkg/pkgfile-22-1-x86_64_pkg.tar.zst I get:

error: No package owns /var/cache/pacman/pkg/pkgfile-22-1-x86_64.pkg.tar.zst

was that time on the phone…

is like :

pkgfile /usr/lib/libgpgme.so.11

or you do pacman -Qo /usr/lib/libgpgme.so.11
at -Qo if its lost owner you lost it but atleast can see what the upstream package is
if its in the cache , pacrepairdb (package)

if its bin by updating the boot cause also not updating properly. gpgme package is importand for the keys…
paccheck gpgme