ライブラリというものは、他のプログラムが必要とするプログラムモジュールを提供します。 このような形には利点があって、他のプログラムが同じモジュールを持つ必要がなくなるため、バグの発生を軽減できます。 各プログラムはシステムにインストールされているライブラリの関数を呼び出します。 その好例となるのが Glibc です。 これは既に LFS ブックの時点でインストール済のものです。 Glibc には C ライブラリ関数がすべて提供され、各プログラムが利用しています。
ライブラリには2つの種類があります。 スタティック (static) ライブラリと共有 (shared) ライブラリです。
共有ライブラリは (通常 libXXX.so
というファイル名であり)
実行時に共有される形でメモリ上にコピーされ利用されます。 (ファイル名がそのことを表しています。) スタティックライブラリは
(libXXX.a
といったファイル名であり)
実行プログラムに直接リンクされます。 したがってその実行プログラムのファイルサイズは大きなものになります。
各種ライブラリは、たいていスタティックライブラリと共有ライブラリを同時に提供しています。
一般に、ライブラリのインストールを必要とするのは、自分がインストールしようとしているプログラムが、そのライブラリ機能を必要としている場合です。
BLFS ブックでは、個々のパッケージにおいて (判明している) 依存パッケージを一覧に示しています。
したがってパッケージをインストールする際に、どのライブラリを必要とするかはすぐに分かります。 BLFS
には示されていないプログラムをインストールしようとしている場合は、README
ファイルや INSTALL
ファイルに、必要な情報が示されているはずですので参照してください。
ライブラリの中には 誰もが 必要とするものがあります。 本章ではそういったものを列記し、なぜインストールを必要とするのかを説明していきます。