Glibc causing pacman fail

In https://forum.manjaro.org/t/dependency-failed-for-light-display-manager/102669, I tried to recover the system following the mhwd-chroot way in https://forum.manjaro.org/t/fix-can-t-login-black-screen-chroot-guide/3904.
Now I can mhwd-chroot into the original system, but when I tried to re-install grub by:

sudo pacman -Syu grub

It reports:

findmnt: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /usr/lib/libudev.so.1)

And when I tried to re-install glibc, or do many other operation (not all, but plenty of), it reports the same error. It seems the last failed update updated lots of libs but glibc. Now I’m getting into a “catch-22” situation, I need glibc 2.34 to install/update glibc 2.34 (and many other things). Is there anyway I can solve this?

While in chroot, you can (and should) first update your system,
probably also refresh the mirror lists
so that you actually can run the update.
Then you can reinstall/update grub.

Alternatively, you can just … update grub.
Not reinstall the new version, but use the version that is already installed.

Thank you. I refreshed the mirrors list, the downloading part works fine. But

sudo pacman -Syyu

reports the same error mentioned above. Is there any switches/options I can use to update the system?

BTW: I just found that, pacman reports the latest version of glibc is 2.33-5. Then, where does the 2.34 come from?

As far as I know, it is not mhwd-chroot
but
manjaro-chroot

Make sure you are actually in chroot properly …
if you cannot just boot into your system normally.

It could be that you are not actually in chroot, but still in the live system you probably booted up … which uses this version of glibc

just a guess though

It is either
manjaro-chroot
or
mhwd-chroot

not both
mhwd-chroot is an old thing - use manjaro-chroot

It’s more complex if you have an encrypted system …

I tried the manjaro-chroot way, it reported the same error…

And I’m sure I’m in chroot. I installed some cli tools in the original system which was not installed in live env. Now in chroot, they works fine (surely, except those which uses glibc).

You need to share command output
in the sequence you did whatever steps you took
so everyone can see what you see
and recommend action accordingly.

As you noticed - I’m not as convinced as you are :wink:

Let the (not yet shown) data speak …

Sorry for the inconvenience, this is what I do and what system reports:

[manjaro@manjaro ~]$ manjaro-chroot
==> ERROR: Can't create chroot on non-directory 
[manjaro@manjaro ~]$ manjaro-chroot -a
==> Mounting (ManjaroLinux) [/dev/sda1]
 --> mount: [/mnt]
 --> mount: [/mnt/data]
[manjaro /]# sudo pacman -Syyu
:: Synchronizing package databases...
 core                                                                                  168.9 KiB   269 KiB/s 00:01 [####################################################################] 100%
 extra                                                                                1901.3 KiB  3.74 MiB/s 00:00 [####################################################################] 100%
 community                                                                               7.0 MiB  4.59 MiB/s 00:02 [####################################################################] 100%
 multilib                                                                              174.0 KiB  1370 KiB/s 00:00 [####################################################################] 100%
 archlinuxcn                                                                          2017.8 KiB  3.52 MiB/s 00:01 [####################################################################] 100%
:: Starting full system upgrade...
warning: manjaro-hello: local (0.6.7-2) is newer than extra (0.6.6-11)
warning: pygtk: local (2.24.0-16) is newer than archlinuxcn (2.24.0-14)
resolving dependencies...
looking for conflicting packages...

Packages (6) chromium-98.0.4758.102-0.1  firefox-97.0.1-0.1  goldendict-qt5-git-1.5.0.RC2.503.g570c75e9-1  manjaro-pulse-20220217-2  systemd-libs-git-1:250.1033.gf370708084-1
             thunderbird-91.6.1-0.1

Total Installed Size:  691.58 MiB
Net Upgrade Size:        0.43 MiB

:: Proceed with installation? [Y/n] y
(6/6) checking keys in keyring                                                                                     [####################################################################] 100%
(6/6) checking package integrity                                                                                   [####################################################################] 100%
(6/6) loading package files                                                                                        [####################################################################] 100%
(6/6) checking for file conflicts                                                                                  [####################################################################] 100%
(6/6) checking available disk space                                                                                [####################################################################] 100%
:: Running pre-transaction hooks...
(1/3) Creating Timeshift snapshot before upgrade...
findmnt: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /usr/lib/libudev.so.1)
/usr/bin/timeshift-autosnap: line 5: [: ==: unary operator expected
/etc/timeshift-autosnap.conf not found! Using skipAutosnap=false
/etc/timeshift-autosnap.conf not found! Using skipRsyncAutosnap=false
/etc/timeshift-autosnap.conf not found! Using snapshotDescription={timeshift-autosnap} {created before upgrade}
timeshift: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /usr/lib/libsystemd.so.0)
Unable to run timeshift-autosnap! Please close Timeshift and try again. Script will now exit...
error: command failed to execute correctly
error: failed to commit transaction (failed to run transaction hooks)
Errors occurred, no packages were upgraded.
[manjaro /]# 

It looks like timeshift is holding you up
Deactivate it (for now).
But:
I do not know how or where to do that. :person_shrugging:

Is your defunct system actually on /dev/sda1 ?

lsblk -f
before and after manjaro-chroot
should clear that up

I’m a little puzzled how something in your old system can be newer than the update you are trying to install …

its the timeshift pre-hook failing. temporarily disable relevant hook in /etc/pacman.d/hooks/

i did run ‘findmnt’ and had no issues against glibc 2.35. curious which branch are you on.

@Yochanan any reason to suspect timeshift needs a rebuild against glibc 2.35 now

Hmm - strange issue - my system (unstable branch) is on glibc v2.35 and I have not had any issues when syncing my systems.

You have mixed-in Archlinux system packages and we cannot help you.

Closed as unsupported system.

  • Remove the archlinuxcn repo from pacman.conf
  • Change to unstable branch
    pacman-mirrors -aS unstable -c Global
    
  • Run a full sync
    pacman -Syyu
    
1 Like