If you are installing GNU libc on a Linux system, you need to have the
header files from a 2.2 or newer kernel around for reference. For some
architectures, like ia64, sh and hppa, you need at least headers from
kernel 2.3.99 (sh and hppa) or 2.4.0 (ia64). You do not need to use
that kernel, just have its headers where glibc can access at them. The
easiest way to do this is to unpack it in a directory such as
/usr/src/linux-2.2.1. In that directory, run `make config'
and accept all the defaults. Then run `make
include/linux/version.h'. Finally, configure glibc with the option
`--with-headers=/usr/src/linux-2.2.1/include'. Use the most recent
kernel you can get your hands on.
An alternate tactic is to unpack the 2.2 kernel and run `make
config' as above. Then rename or delete /usr/include, create
a new /usr/include, and make the usual symbolic links of
/usr/include/linux and /usr/include/asm into the 2.2
kernel sources. You can then configure glibc with no special options.
This tactic is recommended if you are upgrading from libc5, since you
need to get rid of the old header files anyway.
Note that /usr/include/net and /usr/include/scsi should
not be symlinks into the kernel sources. GNU libc provides its
own versions of these files.
Linux expects some components of the libc installation to be in
/lib and some in /usr/lib. This is handled automatically
if you configure glibc with `--prefix=/usr'. If you set some other
prefix or allow it to default to /usr/local, then all the
components are installed there.
If you are upgrading from libc5, you need to recompile every shared
library on your system against the new library for the sake of new code,
but keep the old libraries around for old binaries to use. This is
complicated and difficult. Consult the Glibc2 HOWTO at
https://www.imaxx.net/~thrytis/glibc for details.
You cannot use nscd with 2.0 kernels, due to bugs in the
kernel-side thread support. nscd happens to hit these bugs
particularly hard, but you might have problems with any threaded
program.
Published under the terms of the GNU General Public License