Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com
Answertopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 

C.5 Specific advice for Linux systems

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 Design by Interspire