View previous topic :: View next topic |
Author |
Message |
hanj Veteran
Joined: 19 Aug 2003 Posts: 1500
|
Posted: Fri May 24, 2024 2:36 pm Post subject: Unable to boot because of libreadline.so.8 |
|
|
We recently had a long power outage and one of our servers is not rebooting. I first was suspecting a bad drive due to Read-only file system messages, but paging up in the output I think I see the real issue.
Code: | Run /sbin/init as init process
INIT: version 3.09 booting
/bin/sh: error while loading shared libraries: libreadline.so.8: cannot open shared object file: No such file or directory
|
From here mkdir calls are failing with Read-only file system
I did a fsck on these partitions and no corruptions were found.
Can anyone help?
Thanks!
hanji _________________ Server Admin Blog - Uno-Code.com |
|
Back to top |
|
|
GDH-gentoo Veteran
Joined: 20 Jul 2019 Posts: 1686 Location: South America
|
Posted: Fri May 24, 2024 2:58 pm Post subject: Re: Unable to boot because of libreadline.so.8 |
|
|
hanj wrote: | Code: | /bin/sh: error while loading shared libraries: libreadline.so.8: cannot open shared object file: No such file or directory |
|
Well, that's pretty descriptive, is libreadline (still) there?
Code: | $ ls -F /{,usr/}lib*/libreadline* |
_________________
NeddySeagoon wrote: | I'm not a witch, I'm a retired electronics engineer |
Ionen wrote: | As a packager I just don't want things to get messier with weird build systems and multiple toolchains requirements though |
|
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 22613
|
Posted: Fri May 24, 2024 3:04 pm Post subject: |
|
|
Also, does this system use a separate /usr, and if so, is that /usr mounted soon enough? |
|
Back to top |
|
|
hanj Veteran
Joined: 19 Aug 2003 Posts: 1500
|
Posted: Fri May 24, 2024 3:25 pm Post subject: Re: Unable to boot because of libreadline.so.8 |
|
|
GDH-gentoo wrote: | hanj wrote: | Code: | /bin/sh: error while loading shared libraries: libreadline.so.8: cannot open shared object file: No such file or directory |
|
Well, that's pretty descriptive, is libreadline (still) there?
Code: | $ ls -F /{,usr/}lib*/libreadline* |
|
I'm in via LiveCD.
Code: | /usr/lib/libreadline.so
/usr/lib/libreadline.so.8
/usr/lib/libreadline.so.8.1 |
Thanks
hanji _________________ Server Admin Blog - Uno-Code.com |
|
Back to top |
|
|
hanj Veteran
Joined: 19 Aug 2003 Posts: 1500
|
Posted: Fri May 24, 2024 3:26 pm Post subject: |
|
|
Hu wrote: | Also, does this system use a separate /usr, and if so, is that /usr mounted soon enough? |
I do have a separate partition for /usr. Unsure about the mounting time. Is there a way to determine that?
Thanks
hanji _________________ Server Admin Blog - Uno-Code.com |
|
Back to top |
|
|
hanj Veteran
Joined: 19 Aug 2003 Posts: 1500
|
Posted: Fri May 24, 2024 3:33 pm Post subject: |
|
|
Hu wrote: | Also, does this system use a separate /usr, and if so, is that /usr mounted soon enough? |
I think you might be onto something. I see sda3 mounting which is /root, and the failure happens right after. So sda6 /usr doesn't seem to be mounted.
Thanks
hanji _________________ Server Admin Blog - Uno-Code.com |
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 22613
|
Posted: Fri May 24, 2024 3:34 pm Post subject: |
|
|
If you mount /usr via initramfs, that should be fine. If you don't, that likely explains your problem. It looks like older libreadline was installed in /lib, and so could work without the initramfs mount. |
|
Back to top |
|
|
hanj Veteran
Joined: 19 Aug 2003 Posts: 1500
|
Posted: Fri May 24, 2024 3:36 pm Post subject: |
|
|
Hu wrote: | If you mount /usr via initramfs, that should be fine. If you don't, that likely explains your problem. It looks like older libreadline was installed in /lib, and so could work without the initramfs mount. |
I don't think I use initramfs.. this is an ancient kernel too. Sorry for my ignorance on this, but how can I see if I'm using initramfs? Also, would copying those libs to /libs work to get things booting again?
Thanks!
hanji _________________ Server Admin Blog - Uno-Code.com |
|
Back to top |
|
|
hanj Veteran
Joined: 19 Aug 2003 Posts: 1500
|
Posted: Fri May 24, 2024 3:50 pm Post subject: |
|
|
Hu wrote: | If you mount /usr via initramfs, that should be fine. If you don't, that likely explains your problem. It looks like older libreadline was installed in /lib, and so could work without the initramfs mount. |
Okay, it's definitely related to that. I just did a test by copying libreadline* to /lib and now it's failing on libmount. Any ideas to properly handle this?
Thanks!
hanji _________________ Server Admin Blog - Uno-Code.com |
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 22613
|
Posted: Fri May 24, 2024 3:58 pm Post subject: |
|
|
I think the proper solution is to read and implement the changes from 2024-01-05: Separate /usr now requires an initramfs. As an emergency measure, you could keep copying files from /usr/lib into /lib, and make plans to undo all that later. If you have the free space for it, you could make a directory /usr/lib on / and mirror /usr/lib into it. |
|
Back to top |
|
|
GDH-gentoo Veteran
Joined: 20 Jul 2019 Posts: 1686 Location: South America
|
Posted: Fri May 24, 2024 4:44 pm Post subject: |
|
|
hanj wrote: | Sorry for my ignorance on this, but how can I see if I'm using initramfs? |
Check your bootloader configuration. /boot/grub/grub.cfg if you are using GRUB, for example.
Indeed, it is. Separate /usr and no initramfs has been unsupported by Gentoo since 2013 or something. But until recently, Gentoo also took measures to not actively break this setup either for the cases where it could still work (for example, by having ebuilds install selected libraries in /lib instead of /usr/lib)
What changed is that Gentoo has decided to not care anymore, so the news item was reissued, as an "OK, users, last chance" sort of warning. _________________
NeddySeagoon wrote: | I'm not a witch, I'm a retired electronics engineer |
Ionen wrote: | As a packager I just don't want things to get messier with weird build systems and multiple toolchains requirements though |
|
|
Back to top |
|
|
pietinger Moderator
Joined: 17 Oct 2006 Posts: 5086 Location: Bavaria
|
|
Back to top |
|
|
hanj Veteran
Joined: 19 Aug 2003 Posts: 1500
|
Posted: Thu Aug 08, 2024 2:25 pm Post subject: |
|
|
I have initramfs set up with dracut. Things are happy now. How often do I need to create new initramfs images? If I do updates to libreadline for example, will I need to make a new image? If there are libs that need to be updated in that initramfs - is there a process or notification that will let me know that my image is outdated? Is it best to cron this and create new images nightly, etc?
Thanks!
hanji _________________ Server Admin Blog - Uno-Code.com |
|
Back to top |
|
|
eschwartz Developer
Joined: 29 Oct 2023 Posts: 214
|
Posted: Fri Aug 09, 2024 4:30 pm Post subject: |
|
|
hanj wrote: | I have initramfs set up with dracut. Things are happy now. How often do I need to create new initramfs images? If I do updates to libreadline for example, will I need to make a new image? If there are libs that need to be updated in that initramfs - is there a process or notification that will let me know that my image is outdated? Is it best to cron this and create new images nightly, etc?
|
You don't need to update the initramfs for new readline versions, since it can still boot just fine using the old version and then switch over to the real rootfs at which point applications will use the updated readline.
You only need to recreate the initramfs when there are changes which are needed for the initramfs to set up the initial environment and mount filesystems etc. |
|
Back to top |
|
|
|