Glibc

For installation instructions see the Section called Installing Glibc-2.3.2 in Chapter 6.

Official Download Location

Glibc (2.3.2): 
ftp://ftp.gnu.org/gnu/glibc/

Glibc-linuxthreads (2.3.2): 
ftp://ftp.gnu.org/gnu/glibc/

Glibc Root/Perl Patch (2.3.1):
http://downloads.linuxfromscratch.org/

Glibc Libnss Patch (2.3.1):
http://downloads.linuxfromscratch.org/

Contents of Glibc

(Last checked against version 2.2.5.)

Glibc is the C library that provides the system calls and basic functions such as open, malloc, printf, etc. The C library is used by all dynamically linked programs.

Glibc installs the following files:

Program Files

catchsegv, gencat, getconf, getent, glibcbug, iconv, iconvconfig, ldconfig, ldd, lddlibc4, locale, localedef, mtrace, nscd, nscd_nischeck, pcprofiledump, pt_chown, rpcgen, rpcinfo, sln, sprof, tzselect, xtrace, zdump and zic

Library Files

ld.so, libBrokenLocale.[a,so], libSegFault.so, libanl.[a,so], libbsd-compat.a, libc.[a,so], libc_nonshared.a, libcrypt.[a,so], libdl.[a,so], libg.a, libieee.a, libm.[a,so], libmcheck.a, libmemusage.so, libnsl.a, libnss_compat.so, libnss_dns.so, libnss_files.so, libnss_hesiod.so, libnss_nis.so, libnss_nisplus.so, libpcprofile.so, libpthread.[a,so], libresolv.[a,so], librpcsvc.a, librt.[a,so], libthread_db.so and libutil.[a,so]

Descriptions

(Last checked against version 2.2.5.)

Program file descriptions

catchsegv

catchsegv can be used to create a stack trace when a program terminates with a segmentation fault.

gencat

gencat generates message catalogues.

getconf

getconf displays the system configuration values for filesystem specific variables.

getent

getent gets entries from an administrative database.

glibcbug

glibcbug creates a bug report about glibc and and mails it to the bug email address.

iconv

iconv performs character set conversion.

iconvconfig

iconvconfig creates fastloading iconv module configuration file.

ldconfig

ldconfig configures the dynamic linker run time bindings.

ldd

ldd prints the shared libraries required by each program or shared library specified on the command line.

lddlibc4

lddlibc4 assists ldd with object files.

locale

locale is a Perl program which tells the compiler to enable (or disable) the use of POSIX locales for built-in operations.

localedef

localedef compiles locale specifications.

mtrace

(No description available yet.)

nscd

nscd is a daemon that provides a cache for the most common name service requests.

nscd_nischeck

nscd_nischeck checks whether or not secure mode is necessary for NIS+ lookup.

pcprofiledump

pcprofiledump dumps information generated by PC profiling.

pt_chown

pt_chown sets the owner, group and access permission of the slave pseudo terminal corresponding to the master pseudo terminal passed on file descriptor `3'. This is the helper program for the `grantpt' function. It is not intended to be run directly from the command line.

rpcgen

rpcgen generates C code to implement the RPC protocol.

rpcinfo

rpcinfo makes an RPC call to an RPC server.

sln

sln symbolically links dest to source. It is statically linked, needing no dynamic linking at all. Thus sln is useful to make symbolic links to dynamic libraries if the dynamic linking system for some reason is nonfunctional.

sprof

sprof reads and displays shared object profiling data.

tzselect

tzselect asks the user for information about the current location and outputs the resulting time zone description to standard output.

xtrace

xtrace traces execution of program by printing the currently executed function.

zdump

zdump is the time zone dumper.

zic

zic is the time zone compiler.

Library file descriptions

ld.so

ld.so is the helper program for shared library executables.

libBrokenLocale

Used by software, such as Mozilla, to solve broken locales.

libSegFault

libSegFault is a segmentation fault signal handler. It tries to catch segfaults.

libanl

libanl is an asynchronous name lookup library.

libbsd-compat

libbsd-compat provides the portability needed in order to run certain programs in Linux.

libc, libc_nonshared

These files constitute the main C library. The C library is a collection of commonly used functions in programs. This way a programmer doesn't need to create his own functions for every single task. The most common things like writing a string to the screen are already present and at the disposal of the programmer.

The C library (actually almost every library) comes in two flavors: a dynamic and a static one. In short, when a program uses a static C library, the code from the C library is copied into the executable file. When a program uses a dynamic library, the executable will not contain the code from the C library, but instead a routine that loads the functions from the library at the time the program is run. This means a significant decrease in the file size of a program. The documentation that comes with the C library describes this in more detail, as it is too complicated to explain here in one or two lines.

libcrypt

libcrypt is the cryptography library.

libdl

libdl is the dynamic linking interface library.

libg

libg is a runtime library for g++.

libieee

libieee is the IEEE floating point library.

libm

libm is the mathematical library.

libmcheck

libmcheck contains code run at boot.

libmemusage

libmemusage is used by memusage to help collect information about the memory usage of a program.

libnsl

libnsl is the network services library.

libnss_compat, libnss_dns, libnss_files, libnss_hesiod, libnss_nis, libnss_nisplus

The basic idea is to put the implementation of the different services offered to access the databases in separate modules. This has some advantages:

  • contributors can add new services without adding them to GNU C library,

  • the modules can be updated separately,

  • the C library image is smaller.

libpcprofile

Code used by the kernel to track CPU time spent in functions, source code lines, and instructions.

libpthread

The POSIX threads library.

libresolv

Functions in this library provide for creating, sending, and interpreting packets to the Internet domain name servers.

librpcsvc

Functions in this library provide miscellaneous RPC services.

librt

Functions in this library provide most of the interfaces specified by the POSIX.1b Realtime Extension.

libthread_db

Functions is this library are useful for building debuggers for multi-threaded programs.

libutil

Contains code for "standard" functions used in many different Unix utilities.

Glibc Installation Dependencies

(Last checked against version 2.2.5.)

Bash: sh
Binutils: ar, as, ld, ranlib, readelf
Coreutils: cat, chmod, cp, cut, date, expr, hostname, install, ln,
             mknod, mv, mkdir, rm, pwd, sort, touch, tr, uname
Diffutils: cmp
Gawk: gawk
GCC: cc, cc1, collect2, cpp, gcc
Grep: egrep, grep
Gzip: gzip
Make: make
Sed: sed
Texinfo: install-info, makeinfo