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

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.

Ran through these steps and I am able to boot into windows now:

I faced the same problem today too.

Most of the programs execution shows /usr/lib/libc.so.6: version GLIBC_2.34 not found.

And I executed /usr/lib/libc.so.6, it showed my glibc version is 2.33 (I don’t exactly know why this degradation happened, I have the impression that I sudo pacman -S sqlite and reboot).

So I manually downloaded glibc-2.35 and lib32-glibc-2.35 package @megavolt mentioned.

And I install them without the dep-check, then reboot. it works for me.

sudo pacman -dU glibc-2.35-2-x86_64.pkg.tar.zst
sudo pacman -dU lib32-glibc-2.35-2-x86_64.pkg.tar.zst
1 Like

How could that happen? I mean I use also Manjaro on stable branch and did not happen ever on update in the last 3 years. I would say the mirror was not completely updated and you got partial upgrade what result in such a behavior.

4 Likes