SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
This is the first time Swaret failed on me, but on the worst package ever: glibc. Swaret crashed while intalling it, dunno why. Well, now the system is still up but most commands don't work since it can't find libc.so.6 (ie can't cp, mount, installpkg, etc.).
So which way should repair this ? Can I repair with the slack 10 CD ? Should I use Slax or Knoppix instead ? I won't reboot the system till I find a solution...
You will need to reboot from a rescue disk to fix this one, and then reinstall libc.so.6. The easiest way to do this is to copy the file, but you can do it with RPMs directly using relocation if you like.
Then run /sbin/ldconfig (under chroot if necessary).
Without libc.so.6, you'll only be able to run staticaly-linked binaries. Some systems have all the startup stuff statically linked so you can still boot but I don't know about Slakware of Knoppix particularly.
Slackware is a great distro (I run it myself on all my desktops and servers!). Though, you should never upgrade that kind of packages through automated systems! Either download a binary on www.slackware.com or yet even better, compile the source yourself (glibc is a little hard if youre new to linux.)
How to fix it;
There are multiple ways to fix this, but i believe the easiest one is this one:
1. Download the latest glibc package at www.slackware.com
2. Insert the Slackware CD1 disk and boot up.
3. After logging in as root mount the disk with your os on (depends on the system, you can get information about the partitions by loading cfdisk
4. copy the glibc package you just downloaded to the directory you mounted your os.
5. unpack it (tar zxvf <package>.tar.gz
Now eject the Slackware CD1 disk, and reboot. It should work. If it doesnt, or if you need some more help, ill be glad to help
1. boot with the 2nd CD of slackware installation
2. once the rescue system run, mount the root slackware partition in hd
(say it's /dev/hda1)
mount /dev/hda1 /mnt/hd
3. Reinstall glibc package from /var/swaret (say it is glibc-2.3.2-i486-6.tgz)
ROOT=/mnt/hd removepkg glibc-2.3.2-i486-6.tgz
installpkg -reinstall -root /mnt/hd /mnt/hd/var/swaret/glibc-2.3.2-i486-6.tgz
normally that should run fine
[edit] As I type too slowly I did not notice Olms did post a suggestion, anyway you end with 2 solutions now
Well, again its not clever to let swaret handle things like that (glibc, kernel, so on) because if anything failes, you dont know where it failed and why.. Binaries are the easiest way to install something if youre new, source is the best if you know how to do it imho..
If you don't use the package tools, you need to have a slightly good knowledge of root slackware system structure in case of things go wrong when untaring the package (and do not think that will never happen).
Why do not let the slackware tools to do the job ?
Ok thanks for the quick replies, that worked great.
What I did is boot on CD1 of SLK10 and mounted my / and /usr in /mnt/hd, then mounted the CDROM to /mnt/cdrom and copied the glibc packages to /mnt/hd. Untarred them, and reboot. So nice.
I too have decided to hose my system.
I have tried both OmeS' and Cedrik's ideas with no luck.
Is there an implied step I may have missed after reinstalling the package.
I have even used Slack 10 CD1 and reinstalled all of Dir A and L to no avail.
I am getting " relocation error /lib/libdl.so.2 _rtld_global_ro version GLIBC_PRIVATE not defined in file ld-linux.so.2 with link time reference" on bootup and if I try chroot with the rescue disk
I am to the point where I will have to reformat and reinstall unless someone can help.
Your version of libdl.so.2 is incompatible with your version of ld-linux.so.2.
In order to fix this, you will need to boot on a rescue disk (one that provides its own root filesystem; a LiveCD is usually a good choice) and then reinstall a set of library files that you know work well together. If in doubt, reinstall the packages you've changed using your original install disk, which should at least get you a working system.
The important thing to do here is not to panic. Reinstalling will take you back to square one but you won't necessarily learn anything by doing so. This problem can be fixed. You know what the problem is; these library files don't like each other. Your filesystem is fine but you need some sort of operating system in order to overwrite the library files with some that work. This is where the rescue disk comes in.
hsrthe4th, when you chroot, you'll be using your system, that means using the broken files.
Mount your disk to /mnt
And use, installpkg -root /mnt packagename
ok i have gotten glibc-2.3.3-i486-1 to successfully install by installing it after installing :
glibc-i18n-2.3.3-noarch-1
glibc-profile-2.3.3-i486-1
glibc-solibs-2.3.3-i486-1
glibc-zoneinfo-2.3.3-noarch-1
and i'm still getting the relocation error.
Is there a package i am missing?
gbonvehi yes i do have that.
What should ld-linux.so.2 be linked to mine is linked to libfoo.so.0.0.0
UPDATE --------
For some reason ldconfig was relinking ld-linux.so.2 to libfoo.so.0.0.0
My solution was to relink it to ld-2.3.3.so manually and remove libfoo.so.0.0.0
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.