summary refs log tree commit diff
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 85df791f91..46a50f3898 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.