System not working properly after partial update

Basically I started updating my system, but due to some internet connectivity issues, a partial update occured.
Now even my display manager is not working, and am forced to use TTY.

Trying to do startx results in

xauth:  error in locking authority file /home/manjaro/.Xauthority

/usr/lib/Xorg: /usr/lib/libm.so.6: version `GLIBC_2.29' not found (required by /usr/lib/libdrm.so.2)
No protocol specified
xinit: giving up
xinit: unable to connect to X server: Resource temporarily unavailable
xinit: server error
xauth:  error in locking authority file /home/manjaro/.Xauthority

I tried doing a full system update from TTY itself but it results in this-

error: GPGME error: Invalid crypto engine
error: GPGME error: Invalid crypto engine
error: GPGME error: Invalid crypto engine
error: GPGME error: Invalid crypto engine
error: GPGME error: Invalid crypto engine
error: GPGME error: Invalid crypto engine
error: GPGME error: Invalid crypto engine
error: archlinux-appstream-data: missing required signature
:: File /var/cache/pacman/pkg/archlinux-appstream-data-20190424-1-any.pkg.tar.xz is corrupted (invalid or corrupted package (PGP signature)).
Do you want to delete it? [Y/n] 

And pressing Yes doesn't solve the problem as it just downloads it and throws the same error again

How do i fix this?

I'm using manjaro XFCE

Check the various and increasingly drastic options in this thread:

If you feel you need to reinstall everything (would take a bit) then see here:
https://wiki.archlinux.org/index.php/Pacman/Tips_and_tricks#Reinstalling_all_packages

1 Like

I tried almost everything there already, I just get back this

[manjaro /]# sudo pacman-key --refresh-keys --keyserver pgp.mit.edu
gpg: /usr/lib/libm.so.6: version `GLIBC_2.29' not found (required by /usr/lib/libsqlite3.so.0)
==> ERROR: A specified local key could not be updated from a keyserver.

1 Like

ok thanks, ill try this then

Your system is in one of the worst possible "partial upgrade" states as one of the core libraries is "wrong".

If you have the glibc package file in your cache you can try installing it directly, e.g.

sudo pacman -U /var/cache/pacman/pkg/glibc-2.29-1-x86_64.pkg.tar.xz

However, this might break the system further so make sure you have an installer medium prepared in case you need to chroot.

Alternatively, a simple "fix" is to reinstall.

This also gives back the corrupt package error

I already have a chroot ready, so that won't be a problem

Trying to use your solution to upgrade from cache just gives back

installing glibc (2.29-1) breaks dependency 'glibc=2.28' required by lib32-glibc

And trying to install the cached version of lib32-glibc, it tries to install back glibc 2.29 via pacman which gives back the invalid crypto error

Anyway I can directly install glibc itself without using pacman? Might solve my problem?

Thanks for helping

Install them both at the same time:

sudo pacman -U /var/cache/pacman/pkg/glibc-2.29-1-x86_64.pkg.tar.xz /var/cache/pacman/pkg/lib32-glibc-2.29-1-x86_64.pkg.tar.xz  
2 Likes

That managed to solve all my problems,
Thanks a lot!!!!

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