B. Toolchain Special Section

Glibc General Advice

Glibc is an incredibly complex beast. This is no "configure; make; make install" type package. Extreme care is needed to get it right. If you're not careful a build of Glibc will expose flaws in your:

  1. Toolchain
  2. Environment
  3. Running Kernel
  4. Kernel Headers
  5. Technical Competence

Please read this enlightening post from the Glibc maintainer for the "final word" on the subject:


Despite all of that, it is still possible to attain a DIY production Glibc that works very well. Here are some golden rules for building Glibc:

  1. Always compile and install in a chroot environment. At the very least, build as a non-privileged user. Never `make install' over a live system.
  2. See how the pro's do it. Study the RPM spec files closely, especially those from Red Hat/Fedora (Ulrich Drepper, Roland McGrath and Jakub Jelinek are the main forces behind Glibc development and these guys are all @redhat.com).
  3. Stay abreast of toolchain issues. Monitor the mailing lists for Binutils, GCC and of course Glibc. Also monitor the Kernel list if possible.
  4. Always run `make check'. Investigate and understand any failures.
  5. Recognize that grabbing all the latest and greatest source packages from ftp.gnu.org is never the best strategy for compiling Glibc.

Which Binutils?

FIXME - My text from the original Purelfs hint was integrated into the LFS FAQ here. Take that text, revamp it, make it current, add the missing bits, then put a new version here in the form of some rationale discussion.

Dual Threading Libraries

FIXME - Insert procedure here.