パッケージをビルドしていく際には、以下に示す内容を前提とします:
パッケージの中には、コンパイルする前にパッチを当てるものがあります。 パッチを当てるのは、そのパッケージが抱える問題を回避するためです。 本章と次章の双方でパッチを当てるものがあり、 あるいは本章と次章のいずれか一方でパッチを当てるものもあります。 したがってパッチをダウンロードする説明が書かれていないなら、 何も気にせず先に進んでください。 パッチを当てた際に offset や fuzz といった警告メッセージが出る場合がありますが、これらは気にしないでください。 このような時でもパッチは問題なく適用されています。
コンパイルの最中に、警告メッセージが画面上に出力されることがよくあります。 これは問題はないため無視して構いません。 警告メッセージは、メッセージ内に説明されているように、C や C++ の文法が誤りではないものの推奨されていないものであることを示しています。 C 言語の標準はよく変更されますが、パッケージの中には古い基準に従っているものもあります。 問題はないのですが、警告として画面表示されることになるわけです。
各パッケージをインストールした後は、特に具体的な指示がない限りは、そのソースディレクトリやビルドディレクトリは削除してください。 ソースディレクトリを削除するのは、後にもう一度そのパッケージをインストールする際に、構築のミスを防ぐためです。
もう一度、環境変数 LFS
が正しく設定されているかを確認します。
echo $LFS
上の出力結果が LFS パーティションのマウントポイントのディレクトリであることを確認してください。 本書では
/mnt/lfs
ディレクトリとして説明しています。
最後に以下の二つの点にも注意してください。
ビルド作業においては bash シェルの利用を想定しています。
パッケージのビルド操作を進めるために、まずは lfs
ユーザーによってパッケージファイルの伸張 (解凍) を行い、cd
コマンドによりそのパッケージディレクトリに移動します。
ビルド作業では以下の点が重要です。
1. ソースやパッチファイルを配置するディレクトリは /mnt/lfs/sources/ などのように
chroot 環境でもアクセスが出来るディレクトリとしてください。
/mnt/lfs/tools/ ディレクトリにソースを置くことは やめて ください。
2. ソースディレクトリに入ります。
3. 各パッケージにおいては、
a. tar コマンドを使ってパッケージの tarball を伸張 (解凍) します。
b. パッケージの伸張 (解凍) 後に生成されたディレクトリに入ります。
c. 本書の手順に従ってビルド作業を行っていきます。
d. ソースディレクトリに戻ります。
e. ビルド作業を通じて生成されたパッケージディレクトリを削除します。さらに
<package>-build なるディレクトリを生成していた場合は、それも削除します。