Node:Linux, Next:Reporting Bugs, Previous:Supported Configurations, Up:Installation
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
<http://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.