Original patch from: gentoo/src/patchsets/glibc/2.9/1090_all_glibc-2.3.6-fix-pr631.patch -= BEGIN original header =- 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 -= END original header =- diff -durN glibc-2_9.orig/Makeconfig glibc-2_9/Makeconfig --- glibc-2_9.orig/Makeconfig 2009-02-02 22:00:36.000000000 +0100 +++ glibc-2_9/Makeconfig 2009-02-02 22:01:04.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_9.orig/elf/Makefile glibc-2_9/elf/Makefile --- glibc-2_9.orig/elf/Makefile 2008-10-31 21:35:11.000000000 +0100 +++ glibc-2_9/elf/Makefile 2009-02-02 22:01:04.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