/usr/lib/libc.so.6: version `GLIBC_2.34' not found

Okay so will not bother in this thread again but here you had to enter yes in all the steps.

OK, seeing as you cannot even do it with sudo, see if you can change to root and then do it:

Run,

su -

to change to root. If successful, run the following again:

sudo pacman-key --verbose --refresh-keys

Edit:

If you get an error again, still in the root environment, run:

pacman-key --init

And retry.

It shouldn’t be a link:

$ stat /usr/lib/libc.so.6

File: /usr/lib/libc.so.6
Size: 2463384         Blocks: 4816       IO Block: 4096   regular file
Device: 259,2   Inode: 1058029     Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2022-03-03 08:52:13.524460922 +0200
Modify: 2022-02-11 18:08:58.000000000 +0200
Change: 2022-02-28 09:22:56.560158418 +0200
Birth: 2022-02-28 09:22:56.556825098 +0200

So you could always unlink it:

sudo unlink /usr/lib/libc.so.6

And re-sync:

sudo pacman -S

But note: I have no idea if this is a good idea or not, or if it will break your system…but there it is…I take no responsibility for the fallout if you decide to do it.

FWIW, I have been acting as root all morning. I went ahead and tried non-root with sudo, and also root with sudo, and root without sudo and they all behave identically.

I assume that file is in-use and will not allow me to unlink it.

Check if the file is actively in use:

lsof /usr/lib/libc.so.6

And close any open processes before trying to unlink?

Once again: I take no responsibility if that breaks your system. But, if it does, you sgould in theory be able to fix it from chroot.

PID 1 and a bunch of others have it open so that’s a no-go there.

What you could to is use the static compiled pacman: AUR (en) - pacman-static

Statically-compiled pacman (to fix or install systems without libc)

3 Likes

:point_up_2: is an excellent idea!

@logart try this

That is a bad situation… I would just download the packages by hand:

Mirrors: https://repo.manjaro.org/

https://mirror.easyname.at/manjaro/stable/core/x86_64/glibc-2.35-2-x86_64.pkg.tar.zst
https://mirror.easyname.at/manjaro/stable/core/x86_64/lib32-glibc-2.35-2-x86_64.pkg.tar.zst

And install them like this:

sudo pacman -U glibc-2.35-2-x86_64.pkg.tar.zst
sudo pacman -U lib32-glibc-2.35-2-x86_64.pkg.tar.zst

:notebook: This will not check the signature.

Then you have to rebuild the gpg database for pacman aswell.

1 Like
sudo pacman -U glibc-2.35-2-x86_64.pkg.tar.zst
loading packages...
error: 'glibc-2.35-2-x86_64.pkg.tar.zst': package missing required signature

ok…

Then try to decompress this package and preload this lib:

LD_PRELOAD=/path/to/libc.so.6 pacman-key --init
LD_PRELOAD=usr/lib/libc.so.6 pacman-key --init
/usr/bin/bash: symbol lookup error: usr/lib/libc.so.6: undefined symbol: _dl_audit_symbind_alt, version GLIBC_PRIVATE

pacman-static gives the same results as pacman such as error: GPGME error: Invalid crypto engine

Well… you need to preload more libs… anyway… you need a working environment.

You could boot a Manjaro Boot Disk and use basestrap to install it again.

sudo basestrap /mnt/root-mnt package

Btw… are you on testing branch here?

I restarted the computer and it exited into emergency root prompt with the same GLIBC_2.34 errors.

I am not booted up onto a Manjaro Live USB stick. Is there something I can do from here to fix the main installation?

sudo  basestrap /mnt/nvme0n1p4/ glibc lib32-glibc
==> Creating install root at /mnt/nvme0n1p4/
  -> Installing packages to /mnt/nvme0n1p4/
:: Synchronizing package databases...
 core is up to date
 extra is up to date
 community is up to date
 multilib is up to date
resolving dependencies...
looking for conflicting packages...

Packages (2) glibc-2.35-2  lib32-glibc-2.35-2

Total Download Size:   13.44 MiB
Total Installed Size:  66.98 MiB
Net Upgrade Size:       2.61 MiB

:: Proceed with installation? [Y/n] 
:: Retrieving packages...
 glibc-2.35-2-x86_64                     9.9 MiB  6.99 MiB/s 00:01 [####################################] 100%
 lib32-glibc-2.35-2-x86_64               3.5 MiB  5.76 MiB/s 00:01 [####################################] 100%
 Total (2/2)                            13.4 MiB  6.37 MiB/s 00:02 [####################################] 100%
(2/2) checking keys in keyring                                     [####################################] 100%
(2/2) checking package integrity                                   [####################################] 100%
(2/2) loading package files                                        [####################################] 100%
(2/2) checking for file conflicts                                  [####################################] 100%
(2/2) checking available disk space                                [####################################] 100%
:: Processing package changes...
(1/2) upgrading glibc                                              [####################################] 100%
warning: /mnt/nvme0n1p4/etc/locale.gen installed as /mnt/nvme0n1p4/etc/locale.gen.pacnew
Generating locales...
  en_US.UTF-8... done
Generation complete.
(2/2) upgrading lib32-glibc                                        [####################################] 100%
:: Running post-transaction hooks...
(1/5) Reloading system manager configuration...
  Skipped: Running in chroot.
(2/5) Creating temporary files...
Failed to open file "/sys/devices/system/cpu/microcode/reload": Read-only file system
error: command failed to execute correctly
(3/5) Arming ConditionNeedsUpdate...
(4/5) Restarting cronie for libc upgrade...
Running in chroot, ignoring command 'try-restart'
(5/5) Updating the info directory file...

Since I have a second partition on this server from the last time I had to re-install, I will backup stuff to that partition and run the Manjaro installer on the current partition.

I’m facing the same issue since today. Were you able to fix this? I’m sure the system will break if I reboot, whats my safest option here?

Manjaro is re-installed OK, but I am unable to boot from my windows disk now. The Windows installer tool could not repair the boot record so I am now hunting down how to fix windows boot records from the windows command prompt.