2002-07-08 04:28:42 +08:00
|
|
|
<chapter id="general-genlib">
|
|
|
|
<?dbhtml filename="genlib.html" dir="general"?>
|
|
|
|
<title>General Libraries</title>
|
|
|
|
|
|
|
|
<para>Libraries contain code which is often required by more than
|
|
|
|
one program. This has the advantage that each program doesn't need to
|
|
|
|
duplicate code (and risk introducing bugs), it just has to call
|
|
|
|
functions from the libraries installed on the system. The most obvious
|
2003-09-15 04:28:20 +08:00
|
|
|
example of a set of libraries is <application>glibc</application> which is
|
|
|
|
installed during the <acronym>LFS</acronym> book. This contains all of
|
|
|
|
the <application>C</application> library functions which programs use.</para>
|
2002-07-08 04:28:42 +08:00
|
|
|
|
2003-09-15 04:28:20 +08:00
|
|
|
<para>There are two types of library, static and shared. Shared libraries
|
|
|
|
(usually <filename>libXXX.so</filename>) are loaded into memory from the shared
|
|
|
|
copy at runtime (hence the name). Static libraries (<filename>libXXX.a
|
|
|
|
</filename>) are actually linked into the program executable file itself, thus
|
|
|
|
making the program file larger. Quite often, you will find both static and
|
|
|
|
shared copies of the same library on your system.</para>
|
2002-07-08 04:28:42 +08:00
|
|
|
|
|
|
|
<para>Generally, you only need to install libraries when you are
|
|
|
|
installing software which requires functionality which they supply. In
|
2003-09-15 04:28:20 +08:00
|
|
|
the <acronym>BLFS</acronym> book, each package is listed with a list of (known)
|
2002-07-08 04:28:42 +08:00
|
|
|
dependencies. Thus, you can figure out which libraries you need to have
|
|
|
|
before installing that program. If you are installing something without
|
2003-09-15 04:28:20 +08:00
|
|
|
using <acronym>BLFS</acronym> instructions, usually the <filename>README
|
|
|
|
</filename> or <filename>INSTALL</filename> file will contain details of the
|
|
|
|
programs requirements.</para>
|
2002-07-08 04:28:42 +08:00
|
|
|
|
2003-09-15 04:28:20 +08:00
|
|
|
<para>There are certain libraries which nearly <emphasis>everyone</emphasis>
|
|
|
|
will need at some point. In this chapter we list these and some others and
|
|
|
|
explain why you may want to install them.</para>
|
2002-07-08 04:28:42 +08:00
|
|
|
|
|
|
|
&openssl;
|
|
|
|
&pcre;
|
|
|
|
&popt;
|
|
|
|
&slang;
|
|
|
|
&libfam;
|
|
|
|
&libxml;
|
|
|
|
&libxml2;
|
|
|
|
&libxslt;
|
2002-10-03 07:11:53 +08:00
|
|
|
&readline;
|
2002-08-19 00:45:37 +08:00
|
|
|
&gmp;
|
|
|
|
&gdbm;
|
2002-08-25 20:22:48 +08:00
|
|
|
&GLib;
|
|
|
|
&GLib2;
|
2002-10-03 07:11:53 +08:00
|
|
|
&expat;
|
2002-11-04 00:29:46 +08:00
|
|
|
&libesmtp;
|
2003-01-12 02:37:48 +08:00
|
|
|
&aspell;
|
2003-09-21 05:50:08 +08:00
|
|
|
&ispell;
|
2002-12-14 07:18:29 +08:00
|
|
|
&guile;
|
2002-12-14 09:33:15 +08:00
|
|
|
&slib;
|
2002-12-14 10:04:10 +08:00
|
|
|
&gwrap;
|
2003-09-07 10:28:10 +08:00
|
|
|
&LZO;
|
2002-07-08 04:28:42 +08:00
|
|
|
</chapter>
|