aboutsummaryrefslogtreecommitdiff
path: root/INSTALL
diff options
context:
space:
mode:
Diffstat (limited to 'INSTALL')
-rw-r--r--INSTALL53
1 files changed, 28 insertions, 25 deletions
diff --git a/INSTALL b/INSTALL
index 85df791..46a50f3 100644
--- a/INSTALL
+++ b/INSTALL
@@ -119,7 +119,7 @@ will be used, and CFLAGS sets optimization options for the compiler.
`--enable-omitfp'
Use maximum optimization for the normal (static and shared)
libraries, and compile separate static libraries with debugging
- information and no optimisation. We recommend against this. The
+ information and no optimization. We recommend against this. The
extra optimization doesn't gain you much, it may provoke compiler
bugs, and you won't be able to trace bugs through the C library.
@@ -134,6 +134,12 @@ will be used, and CFLAGS sets optimization options for the compiler.
program linked statically with the NSS libraries cannot be
dynamically reconfigured to use a different name database.
+`--without-tls'
+ By default the C library is build with support for thread-local
+ storage if the used tools support it. By using `--without-tls'
+ this can be prevented though there generally is no reason since it
+ creates compatibility problems.
+
`--build=BUILD-SYSTEM'
`--host=HOST-SYSTEM'
These options are for cross-compiling. If you specify both
@@ -159,26 +165,16 @@ produce a lot of output, some of which may look like errors from `make'
but isn't. Look for error messages from `make' containing `***'.
Those indicate that something is really wrong.
- The compilation process takes several hours even on fast hardware.
-Expect at least two hours for the default configuration on i586 for
-Linux. For Hurd times are much longer. Except for EGCS 1.1 and GCC
-2.95 (and later versions of GCC), all supported versions of GCC have a
-problem which causes them to take several minutes to compile certain
-files in the iconvdata directory. Do not panic if the compiler appears
-to hang.
-
- If you want to run a parallel make, you can't just give `make' the
-`-j' option, because it won't be passed down to the sub-makes.
-Instead, edit the generated `Makefile' and uncomment the line
+ The compilation process can take several hours. Expect at least two
+hours for the default configuration on i586 for Linux. For Hurd times
+are much longer. Except for EGCS 1.1 and GCC 2.95 (and later versions
+of GCC), all supported versions of GCC have a problem which causes them
+to take several minutes to compile certain files in the iconvdata
+directory. Do not panic if the compiler appears to hang.
- # PARALLELMFLAGS = -j 4
-
-You can change the `4' to some other number as appropriate for your
-system. Instead of changing the `Makefile', you could give this option
-directly to `make' and call it as, for example, `make
-PARALLELMFLAGS=-j4'. If you're building in the source directory, you
-must use the latter approach since in this case no new `Makefile' is
-generated for you to change.
+ If you want to run a parallel make, simply pass the `-j' option with
+an appropriate numeric parameter to `make'. You need a recent GNU
+`make' version, though.
To build and run test programs which exercise some of the library
facilities, type `make check'. If it does not complete successfully,
@@ -188,6 +184,11 @@ on reporting bugs. Note that some of the tests assume they are not
being run by `root'. We recommend you compile and test glibc as an
unprivileged user.
+ Before reporting bugs make sure there is no problem with your system.
+The tests (and later installation) uses some pre-existing files of the
+system such as `/etc/passwd', `/etc/nsswitch.conf' and others. These
+files must all contain correct and sensible content.
+
To format the `GNU C Library Reference Manual' for printing, type
`make dvi'. You need a working TeX installation to do this. The
distribution already includes the on-line formatted version of the
@@ -440,11 +441,13 @@ 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 kernel around for reference. You do not
-need to use the 2.2 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'.
+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.