Manjaro stuck on boot screen: libidn2.so.4 missing


#42

yep, all good now. thanks for checking on me :slight_smile:

On both of my machines where this happened, I ended up having to delete that file.

Here are my definitive instructions for anyone who wants to duplicate how I fixed it. Slightly modified version of @crimson-daemon 's method which didn’t work for me out of the box.

  1. Boot from a live system (connected to the internet)
  2. sudo pacman -Sy
  3. Mount system disk
    a) sudo fdisk -l (find the device that contains root, mine was /dev/nvme0n1p4)
    b) sudo mount /dev/nvme0n1p4 /mnt
  4. sudo pacman -S arch-install-scripts
  5. sudo arch-chroot /mnt
  6. ln -s /usr/lib/libidn2.so.0.3.5 /usr/lib/libidn2.so.4
  7. sudo rm /var/lib/pacman/db.lck (you only need to do this if you receive errors about “unable to lock database” like I did on both of my comps)
  8. sudo pacman -Syyuu
  9. Reboot (OS should boot normally now)

#43

works for me! :slightly_smiling_face:


#44

I have not been so lucky. My steps were:

  1. booted from live USB
  2. mounted luks-encrypted btrfs root volume
  3. moved a file that was in the way of the new systemd (sleep.conf I think)
  4. performed a full system upgrade (with pacman --root ${mountpoint} -Syyuu) several times, no changes needed after the first
  5. ran pacman --root ${mountpoint} -S systemd libidns2several times, sometimes with --force thrown in
  6. symlinked libidn2.so.0.3.5 to 1. libidn2.so.4
  7. when that didn’t work, just copied the file directly (permissions identical)

When rebooting, I still get

systemd-tmpfiles: error while loading shared libraries: libdn2.so.4: cannot ope
/usr/lib/systemd/systemd-udevd: error loading shared libraries: libidn2.so
devadm: error while loading shared libraries: libidn2.so.4: cannot open shared object file: No…

but I don’t get a panic, and I can get to an emergency mode. journalctl -xb doesn’t show anything particularly obvious.

Even if you can’t help me with my particular issue, maybe you could help me understand it:

  1. Why is some systemd looking for this file, when it is not a part of (at least the latest) libidns2 package?
  2. Why does it seem that systemd can’t read the file that I have named libidn2.so.4?
  3. What specifically is the announcement that people are referring to that would have saved some of us from this grief? I’ve been rummaging around here for hours gathering little clues on what to try next, and honestly I still have no idea what I did wrong in the first place or why so many of us are getting hit with this now.

#45

Welp, I have another significant problem. After I did the steps listed above, Windows is no longer listed as a boot option in Grub. What would be the best way to restore my Windows install boot option in Grub?


#46

Im quite interested on this too, since I experience the same behaviour. Im a newbie, so will just stand and watch. Not sure if should be a new post, but Ill observe this.


#47

Thanks a lot. This saved me. :slight_smile:


#48

sudo update-grub


#49

After i run

manjaro-chroot /run/media/manjaro/5078fe8b-a25a-4bc8-a7c2-2a320c4796c1/
ln -s libidn2.so.0.3.5 libidn2.so.4
pacman -S systemd
i got
pacman: error while loading shared libraries: libidn2.so.4: cannot open shared object file: No such file or directory

then i tried

and it seems that

so i renamed the /usr/lib/libidn2.so.3.5 to /usr/lib/libidn2.so.4 with thunar root in /run/media/manjaro/5078fe8b-a25a-4bc8-a7c2-2a320c4796c1/

and run
pacman -S libidn2 --force
still the output is
pacman: error while loading shared libraries: libidn2.so.4: cannot open shared object file: No such file or directory

so i tried

sudo pacman -Syyuu

but still the output is
pacman: error while loading shared libraries: libidn2.so.4: cannot open shared object file: No such file or directory

I could need some help too.


#50

Your symbolic link command should look like this^

You will continue receiving that error in a loop until you have the symbolic link created.


#51

yes, i believe i had it backwards, edited and fixed previous posts. remember if your not in the /usr/lib/ directory you need to specify directories when symlinking
ln -s /usr/lib/libidn2.so.0.3.5 /usr/lib/libidn2.so.4


#52

good point. I’ll use the full command in my guide.


#53

worked. So much easier that I expected to fix grub. thank you :slight_smile:


#54

Thank you, that worked for me.


#55

Thank you very much :slight_smile:
Worked well!


#56

This is simply inexcusable. It’s now March, and this same issue just broke my system, but to suggest that this is user error for not reading the announcements before performing a routine operation is… tone-deaf to say it kindly.


#57

and before now, when is the last time you updated?


#58

You must be lazy updating your system or you did not do it from TTY alternative boot into runlevel 3.

I do see users for whom failures happen but that is not a majority though they make it sound like it.

No amount of information will guard the user which is not careful about the system.

Another great response