about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--FAQ.in13
-rw-r--r--sysdeps/unix/sysv/linux/configure.in17
3 files changed, 35 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index f981a98c53..fdb9851753 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2002-05-19  Andreas Jaeger  <aj@suse.de>
+
+	* sysdeps/unix/sysv/linux/configure.in: Warn against an
+	installation in /usr/local.
+
 2002-05-16  Bruno Haible  <bruno@clisp.org>
 
 	* sysdeps/unix/sysv/aix/bits/ioctl-types.h: Don't use multiline
diff --git a/FAQ.in b/FAQ.in
index f35dd342f6..b6d4ac00c5 100644
--- a/FAQ.in
+++ b/FAQ.in
@@ -1028,6 +1028,19 @@ This version is needed because the fpos_t type and a few libio internals
 have changed in glibc 2.2, and gcc 2.95.3 contains a corresponding patch.
 
 
+??	Why shall glibc never get installed on GNU/Linux systems in
+/usr/local?
+
+{AJ} The GNU C compiler treats /usr/local/include and /usr/local/lib in a
+special way, these directories will be searched before the system
+directories.  Since on GNU/Linux the system directories /usr/include and
+/usr/lib contain a --- possibly different --- version of glibc and mixing
+certain files from different glibc installations is not supported and will
+break, you risk breaking your complete system.  If you want to test a glibc
+installation, use another directory as argument to --prefix.  If you like to
+install this glibc version as default version, overriding the existing one,
+use --prefix=/usr and everything will go in the right places.
+
 ? Source and binary incompatibilities, and what to do about them
 
 ??	I expect GNU libc to be 100% source code compatible with
diff --git a/sysdeps/unix/sysv/linux/configure.in b/sysdeps/unix/sysv/linux/configure.in
index 486b10d7cb..5362d45aab 100644
--- a/sysdeps/unix/sysv/linux/configure.in
+++ b/sysdeps/unix/sysv/linux/configure.in
@@ -185,6 +185,23 @@ if test "$linuxthreads_missing"; then
   fi
 fi
 
+if test "$prefix" = "/usr/local" -o "$prefix" = "/usr/local/" -o "$prefix" = "NONE"; then
+  if test $enable_sanity = yes; then
+    echo "\
+*** On GNU/Linux systems the GNU C Library should not be installed into
+*** /usr/local since this might make your system totally unusable.
+*** We strongly advise to use a different prefix.  For details read the FAQ.
+*** If you really mean to do this, run configure again using the extra 
+*** parameter \`--disable-sanity-checks'."
+    exit 1
+  else
+    echo "\
+*** WARNING: Do you really want to install the GNU C Library into /usr/local?
+*** This might make your system totally unusable, for details read the FAQ."
+  fi
+fi
+
+
 # One Linux we use ldconfig.
 use_ldconfig=yes