[f45b1953] | 1 | <chapter id="general-genlib">
|
---|
| 2 | <?dbhtml filename="genlib.html" dir="general"?>
|
---|
| 3 | <title>General Libraries</title>
|
---|
| 4 |
|
---|
| 5 | <para>Libraries contain code which is often required by more than
|
---|
| 6 | one program. This has the advantage that each program doesn't need to
|
---|
| 7 | duplicate code (and risk introducing bugs), it just has to call
|
---|
| 8 | functions from the libraries installed on the system. The most obvious
|
---|
[e1d7dec] | 9 | example of a set of libraries is <application>glibc</application> which is
|
---|
| 10 | installed during the <acronym>LFS</acronym> book. This contains all of
|
---|
| 11 | the <application>C</application> library functions which programs use.</para>
|
---|
[f45b1953] | 12 |
|
---|
[e1d7dec] | 13 | <para>There are two types of library, static and shared. Shared libraries
|
---|
| 14 | (usually <filename>libXXX.so</filename>) are loaded into memory from the shared
|
---|
| 15 | copy at runtime (hence the name). Static libraries (<filename>libXXX.a
|
---|
| 16 | </filename>) are actually linked into the program executable file itself, thus
|
---|
| 17 | making the program file larger. Quite often, you will find both static and
|
---|
| 18 | shared copies of the same library on your system.</para>
|
---|
[f45b1953] | 19 |
|
---|
| 20 | <para>Generally, you only need to install libraries when you are
|
---|
| 21 | installing software which requires functionality which they supply. In
|
---|
[e1d7dec] | 22 | the <acronym>BLFS</acronym> book, each package is listed with a list of (known)
|
---|
[f45b1953] | 23 | dependencies. Thus, you can figure out which libraries you need to have
|
---|
| 24 | before installing that program. If you are installing something without
|
---|
[e1d7dec] | 25 | using <acronym>BLFS</acronym> instructions, usually the <filename>README
|
---|
| 26 | </filename> or <filename>INSTALL</filename> file will contain details of the
|
---|
| 27 | programs requirements.</para>
|
---|
[f45b1953] | 28 |
|
---|
[e1d7dec] | 29 | <para>There are certain libraries which nearly <emphasis>everyone</emphasis>
|
---|
| 30 | will need at some point. In this chapter we list these and some others and
|
---|
| 31 | explain why you may want to install them.</para>
|
---|
[f45b1953] | 32 |
|
---|
| 33 | &openssl;
|
---|
| 34 | &pcre;
|
---|
| 35 | &popt;
|
---|
| 36 | &slang;
|
---|
| 37 | &libfam;
|
---|
| 38 | &libxml;
|
---|
| 39 | &libxml2;
|
---|
| 40 | &libxslt;
|
---|
[6cab80b] | 41 | &readline;
|
---|
[777e407] | 42 | &gmp;
|
---|
| 43 | &gdbm;
|
---|
[16a0b717] | 44 | &GLib;
|
---|
| 45 | &GLib2;
|
---|
[6cab80b] | 46 | &expat;
|
---|
[fd2ade27] | 47 | &libesmtp;
|
---|
[368512b3] | 48 | &aspell;
|
---|
[ed510ac] | 49 | &ispell;
|
---|
[20e6fc82] | 50 | &guile;
|
---|
[b866b9f7] | 51 | &slib;
|
---|
[f6230ab] | 52 | &gwrap;
|
---|
[ef0e45e4] | 53 | &LZO;
|
---|
[f45b1953] | 54 | </chapter>
|
---|