links - glibc [links - soft] [links] [home] [search

src (GNU)

build instructions:
  1. install new binutils (2.21 is ok, 2.18 is not), otherwise one gets some asm-related unresolved symbols errors
  2. mkdir glibc-2.13-build; cd glibc-2.13-build
  3. echo "CFLAGS += -march=i586" > configparms (otherwise one gets undefined reference to `__sync_bool_compare_and_swap_4` and similar errors)
  4. ../glibc-2.13/configure --prefix=/pack/glibc-2.13 --with-headers=/usr/src/linux-
  5. make; make -k check
  6. touch /pack/glibc-2.13/etc/
  7. env LANGUAGE=C LC_ALL=C make install
  8. mkdir /pack/glibc-2.13/lib/locale; /pack/glibc-2.13/bin/localedef -c -v -i en_US en_US (to prevent warnings like Operating system doesn't support locale "en_US" from some bogosities like Open Office and such)
to get glibc version, simply run /lib/

an error like *** glibc detected *** free(): invalid pointer: 0x081c80f0 *** indicates an application fault in memory management. glibc allows to supress (but not to remedy!) such an error by setting environment variable MALLOC_CHECK_ to 0 or 1 (see man malloc).

(new) POSIX threads vs. (old) linuxthreads support; to check with which support the glibc library is compiled, run /lib/ and observe something like Native POSIX Threads Library by Ulrich Drepper et al or linuxthreads-0.10 by Xavier Leroy.

Explaining LD_ASSUME_KERNEL by Ulrich Drepper.

if getting an error like symbol __libc_wait, version GLIBC_2.0 not defined, LD_PRELOAD a small shared library defining this symbol, as explained there (for a more detailed description, see

created Apr 20 2008
last modified Thu Mar 10 10:59:11 EET 2011