src (GNU)
build instructions:
-
install new binutils (2.21 is ok, 2.18 is not), otherwise one gets some
asm-related unresolved symbols errors
- mkdir glibc-2.13-build; cd glibc-2.13-build
-
echo "CFLAGS += -march=i586" > configparms (otherwise one gets
undefined reference to `__sync_bool_compare_and_swap_4` and similar errors)
-
../glibc-2.13/configure --prefix=/pack/glibc-2.13
--with-headers=/usr/src/linux-2.6.37.2/include
- make; make -k check
- touch /pack/glibc-2.13/etc/ld.so.conf
- env LANGUAGE=C LC_ALL=C make install
-
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/libc.so.6
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/libc.so.6 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
novell.com).
created Apr 20 2008
last modified Thu Mar 10 10:59:11 EET 2011