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 containing t