Next Previous Contents

7. Installing the GNU C and C++ Libraries

7.1 Installing the GNU C Library

We're not going to installed the latest Glibc version (2.1.2 at the time of writing), but version 2.0.7pre6. The reason is that glibc 2.1.2 requires at least gcc 2.8 (or egcs 1.1). My system has gcc 2.7.2.3 thus I can't compile the glibc2.1.2 library. A second reason is that I have used the 2.1.2 C library for a while and found out that certain software doens't run smoothly when linked against that library version. In the future we might undergo the transition to Glibc-2.1.x when we have been able to fix those programs. For now, we'll stick with the library and compiler in which I have most confidence.

A note on the glibc-crypt package. The following is quoted from the glibc-crypt-README file on ftp://ftp.gnu.org/gnu/glibc:

-*-*-*-*-*-
The add-on is not included in the main distribution of the GNU 
C library because some governments, mostly notable those of 
France, Russia and the US, have very restrictive rules 
governing the distribution and use of encryption software. 
Please read the node "Legal Problems" in the manual for more 
details.
 
In particular, the US does not allow export of this software 
without a license, including via the Internet. So please do not 
download it from the main FSF FTP site at ftp.gnu.org if you 
are outside of the US. This software was completely developed 
outside the US.
-*-*-*-*-*-

"This software" refers to the glibc-crypt package at ftp://ftp.gwdg.de/pub/linux/glibc/2.0.7pre6/. This law only affects people who don't live in the US. It's not prohibited to import DES software, so if you live in the US you can import it from that German site.

# Begin configparms
prefix=/usr
slibdir=/lib
sysconfdir=/etc
localtime=localtime
# End configparms

You have to select the current timezone that you are in. What you need to enter here must be a file relative to the /usr/share/zoneinfo directory. You can determine what your timezone file is, by running ls -l /etc/localtime. The output of this command will tell you to what file this symlink is pointing. If your timezone file is /usr/share/zoneinfo/EST5EDT, you enter 'localtime=EST5EDT' in the configparms file. If your timezone file is /usr/share/zoneinfo/Canada/Eastern you enter 'localtime=Canada/Eastern' in the configparms file.

make; make install_root=$LFS install

7.2 Installing the GNU C++ Library

This HOWTO used to install the C++ library from sources, but that has been changed and is an exception. The C++ library is installed from pre-compiled binaries. The reason is that I have not been able to find the sources for the C++ library version that I prefer to use. So until then we'll use pre-compiled binaries. My preference are Debian packages.

Installing the libstdc++2.9_2.91.66-0slink2.deb package

Installing the libstdc++2.9-dev_2.91.66-0slink2.deb package


Next Previous Contents