From 79ab8d898d0e16d8394c0203a14db6080d6841b1 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Sun, 19 May 2002 18:37:21 +0000 Subject: Warn against installing into /usr/local 2002-05-19 Andreas Jaeger * sysdeps/unix/sysv/linux/configure.in: Warn against an installation in /usr/local. --- ChangeLog | 5 +++++ FAQ.in | 13 +++++++++++++ sysdeps/unix/sysv/linux/configure.in | 17 +++++++++++++++++ 3 files changed, 35 insertions(+) diff --git a/ChangeLog b/ChangeLog index f981a98c53..fdb9851753 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2002-05-19 Andreas Jaeger + + * sysdeps/unix/sysv/linux/configure.in: Warn against an + installation in /usr/local. + 2002-05-16 Bruno Haible * 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 -- cgit 1.4.1