The most common mistake is not to have a set of basic, static tools; in this case you can only use the command cd, but nothing else. This is the reason why in this HOWTO I have described in detail how to make those tools static.
The only tool not static is mount and, for good reason in my opinion, it is included in the package of linux-utils, which also contains login, passwd, etc. Since you are not able to use statically-linked versions in combination with PAM or other security-related software, it would be unwise to compile them statically under all circumstances. Of course you are free to do so if you are really sure about what you are doing.
The way back to a working configuration is quite simple if you
have the static tools: go to the directory
/usr/local/lib/
and move all the newly installed files into another location (eg.
/usr/local/lib/storedaway
). You may identify them by
looking at their version number, which should be the same as the one from
your glibc installation (in my example all files fitted to
the scheme lib*-2.2.4), and of course by the creation date and
time. It is quite uncommon that two different libraries have the
same version number at the same time—I, myself, have never
experienced such a thing—but just to be sure you do not delete
something important to your system, check the date and
time of creation. A very useful tool in this case is the Midnight
Commander, if you have it installed.
You could try to remove the files ld-2.2.4.so
and
libc-2.2.4.so
and run ldconfig -v afterwards, before
removing all the crashed files. This will enable you to use at
least most of your programs and in every case you will be able
to run the Midnight Commander.
Do not forget to do at least one ldconfig -v after you have removed all the files.
A common cause for problems is that your distribution has stored
all the library files in a different location than the newly-installed
routine will use, thus it often happens that there are two
versions running simultaneously, disturbing each other. In my case,
lots of trouble was caused by a second copy of libc6.so
lying around in /lib
, a symbolic link from this file to
the corresponding one in /usr/local/lib
fixes this problem.