Glibc2 Notes
There is a new version of the GNU C libraries which is popularly known as
glibc2. Glibc2 (also known as libc6) offers several
advantages over the previous implementation of the C library (libc5).
These include better security (no more buffer overflow problems), and the
fact that the library is thread safe.
The Linux operating system is currently in transition to this new library;
many of the current distributions are built upon this library. For those of
us with legacy systems converting from libc5 to glibc2 is a
problem.
There is a
Glibc2-HOWTO which is tremendously helpful for making the conversion
"by hand".
You can obtain a copy of the minimum recommended version of the various
system utilities here.
If you are compiling and installing from sources, here are some additional
notes that might be helpful.
- The HOWTO section 5.2, paragraph 4 explains about restoring any extra
header files and links in /usr/include. This should be done with a cp -i
command after installing glibc2.
- The HOWTO section 5.4 says to run the commands make install and
ldconfig -v. This should be done from within the compile
directory.
- IMPORTANT IMPORTANT IMPORTANT. Make sure your compiler is capable
of building libstdc++ from sources before doing the upgrade.
If it won't, upgrade the compiler before proceeding. The FAQ indicates that
you need at least gcc 2.7.2 and that 2.7.2.1 is preferred in order to build
glibc. My experiance is that you need at least 2.7.2.2 to build
libstdc++, so 2.7.2.2 is really the minimum required version.
- If you use X-Windows, save the old libraries somewhere. Then pick up a
complete copy of the libraries compiled for glibc and install them.
- The HOWTO explains how to reorganize the search order for ld.so so old
stuff won't break. In the long run you will want to recompile several things
so that they link with the new library. The following list are some of the
programs that I decided to fix right away:
- the
procps programs (w, uptime, vmstat, ps, ...)
- less
- man
- emacs
- tk/tcl
- giflib
- imlib
- imagemagick
- fvwm2.2
- eterm
- xv
Taygeta's home page