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)
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
This will not check the signature.
Then you have to rebuild the gpg database for pacman aswell.
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.