I get the following error upgrading from 2.3.5 to 2.12 git, using --prefix=/usr --enable-stackguard-randomization --enable-add-ons=libidn,nptl --enable-bind-now --enable-kernel=2.6.33 --without-cvs --with-headers=/home/fredlwm/src/linux-2.6.34/objdir/usr/include --with-tls /home/fredlwm/src/glibc-2.12-20100601/objdir/nptl/libpthread_pic.a(pthread_cond_timedwait.os): In function `pthread_cond_timedwait@@GLIBC_2.3.2': pthread_cond_timedwait.c:(.text+0xaa): undefined reference to `__condvar_cleanup' /usr/lib/gcc/i686-pc-linux-gnu/4.4.4/../../../../i686-pc-linux-gnu/bin/ld: /home/fredlwm/src/glibc-2.12-20100601/objdir/nptl/libpthread_pic.a(pthread_cond_timedwait.os): relocation R_386_GOTOFF against undefined hidden symbol `__condvar_cleanup' can not be used when making a shared object /usr/lib/gcc/i686-pc-linux-gnu/4.4.4/../../../../i686-pc-linux-gnu/bin/ld: final link failed: Bad value collect2: ld returned 1 exit status make[2]: *** [/home/fredlwm/src/glibc-2.12-20100601/objdir/nptl/libpthread.so] Error 1 binutils is 2.20.51.0.9, GCC 4.4.4, kernel headers from 2.6.34.
Can you confirm that dropping --enable-bind-now fixes the problem?
Sorry for that, but I meant 2.3.6, not 2.3.5. I tried without --enable-bind-now (2.3.6 was compiled with it), but it doesn't fix it. I also removed --enable-stackguard-randomization. I also tried 2.11.2, and it compiles nptl, but stops at nscd: /home/fredlwm/src/glibc-2.11.2/objdir/nscd/nscd.o: In function `nscd_open_socket ': nscd.c:(.text+0x277): undefined reference to `__stack_chk_guard' /home/fredlwm/src/glibc-2.11.2/objdir/nscd/nscd.o: In function `parse_opt': nscd.c:(.text+0x91f): undefined reference to `__stack_chk_guard' /home/fredlwm/src/glibc-2.11.2/objdir/nscd/connections.o: In function `restart': connections.c:(.text+0x2f9): undefined reference to `__stack_chk_guard' connections.c:(.text+0x459): undefined reference to `__stack_chk_guard' /home/fredlwm/src/glibc-2.11.2/objdir/nscd/connections.o: In function `main_loop_epoll': connections.c:(.text+0xa26): undefined reference to `__stack_chk_guard' /home/fredlwm/src/glibc-2.11.2/objdir/nscd/connections.o:connections.c (.text+0x11119): more undefined references to `__stack_chk_guard' follow collect2: ld returned 1 exit status make[2]: *** [/home/fredlwm/src/glibc-2.11.2/objdir/nscd/nscd] Error 1 The same happens with or without --enable-stackguard-randomization.
Hmm, this is probably an issue with your toolchain then - most likely, the gcc version you are using is actually some older one, or you have some spurious stuff in your $CFLAGS (like -fstack-protector?). Unfortunately, glibc is tricky to build and we cannot support people having build issues here, I recommend that you seek a help on some mailing list instead.
Andreas Jaeger reported it in 2005 - http://sourceware.org/ml/libc-alpha/2005-07/msg00045.html My GCC was compiled agaist glibc 2.3.5. I thought that was fixed. Here, what I did is -have-ssp = no +have-ssp = yes in config.make. Anyway, I still don't know why 2.12 fails. Do you think I should try compiling it after 2.11.2 is installed ? BTW, dozens of nptl tests failed with 2.11.2. I guess, because 2.3.5 was installed.