Frequently Asked Questions about the GNU C Library
This document tries to answer questions a user might have when installing
and using glibc. Please make sure you read this before sending questions or
bug reports to the maintainers.
The GNU C library is very complex. The installation process has not been
completely automated; there are too many variables. You can do substantial
damage to your system by installing the library incorrectly. Make sure you
understand what you are undertaking before you begin.
If you have any questions you think should be answered in this document,
please let me know.
--drepper@cygnus.com
? Compiling glibc
?? What systems does the GNU C Library run on?
{UD} This is difficult to answer. The file `README' lists the architectures
GNU libc was known to run on *at some time*. This does not mean that it
still can be compiled and run on them now.
The systems glibc is known to work on as of this release, and most probably
in the future, are:
*-*-gnu GNU Hurd
i[3456]86-*-linux-gnu Linux-2.x on Intel
m68k-*-linux-gnu Linux-2.x on Motorola 680x0
alpha-*-linux-gnu Linux-2.x on DEC Alpha
powerpc-*-linux-gnu Linux and MkLinux on PowerPC systems
sparc-*-linux-gnu Linux-2.x on SPARC
sparc64-*-linux-gnu Linux-2.x on UltraSPARC
arm-*-none ARM standalone systems
arm-*-linuxaout Linux-2.x on ARM using a.out binaries
Ports to other Linux platforms are in development, and may in fact work
already, but no one has sent us success reports for them. Currently no
ports to other operating systems are underway, although a few people have
expressed interest.
If you have a system not listed above (or in the `README' file) and you are
really interested in porting it, contact
<bug-glibc@gnu.org>
?? What compiler do I need to build GNU libc?
{UD} You must use GNU CC to compile GNU libc. A lot of extensions of GNU CC
are used to increase portability and speed.
GNU CC is found, like all other GNU packages, on
ftp://ftp.gnu.org/pub/gnu
and the many mirror sites. ftp.gnu.org is always overloaded, so try to find
a local mirror first.
You always should try to use the latest official release. Older versions
may not have all the features GNU libc requires. The current releases of
egcs (1.0.2) and GNU CC (2.8.1) should work with the GNU C library (for
powerpc see question ?powerpc).
?? When I try to compile glibc I get only error messages.
What's wrong?
{UD} You definitely need GNU make to translate GNU libc. No other make
program has the needed functionality.
We recommend version GNU make version 3.75. Versions 3.76 and 3.76.1 have
bugs which appear when building big projects like GNU libc. Versions before
3.74 have bugs and/or are missing features.
?? Do I need a special linker or archiver?
{UD} You may be able to use your system linker, but GNU libc works best with
GNU binutils.
On systems where the native linker does not support weak symbols you will
not get a fully ISO C compliant C library. Generally speaking you should
use the GNU binutils if they provide at least the same functionality as your
system's tools.
Always get the newest release of GNU binutils available. Older releases are
known to have bugs that prevent a successful compilation.
{ZW} As of release 2.1 a linker supporting symbol versions is required. For
Linux, get binutils-2.8.1.0.23 or later. Other systems may have native
linker support, but it's moot right now, because glibc has not been ported
to them.
??powerpc Which compiler should I use for powerpc?
{GK} You want to use egcs 1.0.1 or later (together with the right versions
of all the other tools, of course).
In fact, egcs 1.0.1 has a serious bug that prevents a clean make, relating
to switch statement folding. It also causes the resulting shared libraries
to use more memory than they should. There is a patch at:
<http://discus.anu.edu.au/~geoffk/egcs-1.0.1-geoffk.diff>
Later versions of egcs may fix these problems.
?? Do I need some more things to compile GNU C Library?
{UD} Yes, there are some more :-).
* GNU gettext. This package contains the tools needed to construct
`message catalog' files containi