From dank@kegel.com Wed Jun 15 09:12:43 PDT 2005 Fixes build-glibc/libc.a(nsswitch.o)(.data+0x64): undefined reference to `_nss_files_getaliasent_r' build-glibc/libc.a(nsswitch.o)(.data+0x6c): undefined reference to `_nss_files_endaliasent' ... 53 lines deleted ... build-glibc/libc.a(nsswitch.o)(.data+0x21c): undefined reference to `_nss_files_getspnam_r' collect2: ld returned 1 exit status make[2]: *** [/build/gcc-3.4.3-glibc-2.3.5-hdrs-2.6.11.2/i686-unknown-linux-gnu/build-glibc/elf/ldconfig] Error 1 when building glibc with --enable-static-nss. See http://sources.redhat.com/bugzilla/show_bug.cgi?id=631 diff -durN glibc-2.10.1.orig/Makeconfig glibc-2.10.1/Makeconfig --- glibc-2.10.1.orig/Makeconfig 2009-11-13 00:49:41.000000000 +0100 +++ glibc-2.10.1/Makeconfig 2009-11-13 00:50:13.000000000 +0100 @@ -509,7 +509,7 @@ # The static libraries. ifeq (yes,$(build-static)) -link-libc-static = $(common-objpfx)libc.a $(static-gnulib) $(common-objpfx)libc.a +link-libc-static = $(common-objpfx)libc.a $(static-gnulib) $(otherlibs) $(common-objpfx)libc.a else ifeq (yes,$(build-shared)) # We can try to link the programs with lib*_pic.a... diff -durN glibc-2.10.1.orig/elf/Makefile glibc-2.10.1/elf/Makefile --- glibc-2.10.1.orig/elf/Makefile 2009-01-31 01:20:55.000000000 +0100 +++ glibc-2.10.1/elf/Makefile 2009-11-13 00:50:13.000000000 +0100 @@ -121,6 +121,13 @@ install-bin-script = ldd endif +ifeq (yes,$(build-static-nss)) +nssobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)nss) +resolvobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)resolv) +otherlibs += $(nssobjdir)/libnss_files.a $(resolvobjdir)/libnss_dns.a \ + $(resolvobjdir)/libresolv.a +endif + others = sprof sln install-bin = sprof others-static = sln