diff options
author | Ulrich Drepper <drepper@redhat.com> | 1998-04-07 16:19:36 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1998-04-07 16:19:36 +0000 |
commit | 6ca96fe202d5031bd34794b81798651a07839075 (patch) | |
tree | 5684b91ae1d63086f43b1742b04a6b0440fd0e5b /FAQ.in | |
parent | 6916c5e1fa03596836767d10648a26eff9d6a8e2 (diff) | |
download | glibc-6ca96fe202d5031bd34794b81798651a07839075.tar.gz glibc-6ca96fe202d5031bd34794b81798651a07839075.tar.xz glibc-6ca96fe202d5031bd34794b81798651a07839075.zip |
Update.
1998-04-04 Andreas Jaeger <aj@arthur.rhein-neckar.de> * resolv/Makefile: Include ../Makeconfig - needed for building static NSS module. 1998-04-04 Andreas Jaeger <aj@arthur.rhein-neckar.de> * hesiod/Makefile (libnss_hesiod-inhibit-o): Remove condition for static-nss since we don't want hesiod in the static NSS. * nss/Makefile: Build only nss_files as static. * nss/function.def: Remove support for service db. 1998-04-04 09:44 H.J. Lu <hjl@gnu.org> * Makeconfig (CPPFLAGS-.oS): Add -DPIC. 1998-04-04 18:29 Tim Waugh <tim@cyberelk.demon.co.uk> * posix/wordexp-test.c: Make IFS per test-case.
Diffstat (limited to 'FAQ.in')
-rw-r--r-- | FAQ.in | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/FAQ.in b/FAQ.in index e0e7342279..aee939dde5 100644 --- a/FAQ.in +++ b/FAQ.in @@ -625,6 +625,33 @@ If you're upgrading from glibc 2.0.x to 2.1 you have to recompile libstdc++ since the library compiled for 2.0 is not compatible due to the new Large File Support (LFS) in version 2.1. +?? Even statically linked programs need some shared libraries + which is not acceptable for me. What can I do? + +{AJ} NSS (for details just type `info libc "Name Service Switch"') +won't work properly without shared libraries. NSS allows using +different services (e.g. NIS, files, db, hesiod) by just changing one +configuration file (/etc/nsswitch.conf) without relinking any +programs. The only disadvantage is that now static libraries need to +access shared libraries. This is handled transparently by the GNU C +library. + +A solution is to configure glibc with --enable-static-nss. In this +case you can create a static binary that will use only the services +dns and files (change /etc/nsswitch.conf for this). You need +to link explicitly against all these services. For example: + + gcc -static test-netdb.c -o test-netdb.c \ + -lc -lnss_files -lnss_dns -lresolv + +The problem with this approach is that you've got to link every static +program that uses NSS routines with all those libraries. + +{UD} In fact, one cannot say anymore that a libc compiled with this +option is using NSS. There is no switch anymore. Therefore it is +*highly* recommended *not* to use --enable-static-nss since this makes +the behaviour of the programs on the system inconsistent. + ? Source and binary incompatibilities, and what to do about them ?? I expect GNU libc to be 100% source code compatible with |