本パッケージの詳細は 「Ncurses の構成」を参照してください。
Ncurses パッケージは、端末に依存しない、文字ベースのスクリーン制御を行うライブラリを提供します。
ビルドにあたって gawk が必ず最初に見つかるようにします。
sed -i s/mawk// configure
そして以下のコマンドを実行して、ビルドホスト上に「tic」プログラムをビルドします。
mkdir build pushd build ../configure make -C include make -C progs tic popd
Ncurses をコンパイルするための準備をします。
./configure --prefix=/usr \ --host=$LFS_TGT \ --build=$(./config.guess) \ --mandir=/usr/share/man \ --with-manpage-format=normal \ --with-shared \ --without-debug \ --without-ada \ --without-normal \ --enable-widec
configure オプションの意味
--with-manpage-format=normal
本パラメーターは Ncurses が圧縮された man ページをインストールしないようにします。 ホストディストリビューションそのものが圧縮 man ページを利用していると、同じようになってしまうからです。
--without-ada
このオプションは Ncurses に対して Ada コンパイラーのサポート機能をビルドしないよう指示します。 この機能はホストシステムでは提供されているかもしれませんが、chroot 環境に入ってしまうと利用できなくなります。
--enable-widec
本スイッチは通常のライブラリ (libncurses.so.6.2
) ではなくワイド文字対応のライブラリ
(libncursesw.so.6.2
)
をビルドすることを指示します。 ワイド文字対応のライブラリは、マルチバイトロケールと従来の
8ビットロケールの双方に対して利用可能です。 通常のライブラリでは 8ビットロケールに対してしか動作しません。
ワイド文字対応と通常のものとでは、ソース互換があるもののバイナリ互換がありません。
--without-normal
本スイッチは、ほとんどのスタティックライブラリをビルドせずインストールもしません。
パッケージをコンパイルします。
make
パッケージをインストールします。
make DESTDIR=$LFS TIC_PATH=$(pwd)/build/progs/tic install echo "INPUT(-lncursesw)" > $LFS/usr/lib/libncurses.so
install オプションの意味
TIC_PATH=$(pwd)/build/progs/tic
ビルドマシン上において、作り出したばかりの tic のパスを示すことが必要です。 こうすることで terminal データベースがエラーなく生成できることになります。
パッケージの中で、わずかですが libncurses.so
を必要としているものがあります。 これはすぐに生成する予定のものです。 ここでこの小さなリンカースクリプトを生成します。
これは 第 8 章 においてビルドします。
共有ライブラリを、これが期待されている /lib
ディレクトリに移動します。
mv -v $LFS/usr/lib/libncursesw.so.6* $LFS/lib
ライブラリを移動させたので、シンボリックリンクが 1 つ、存在しないファイルを指してしまいます。 そこでこれを再生成します。
ln -sfv ../../lib/$(readlink $LFS/usr/lib/libncursesw.so) $LFS/usr/lib/libncursesw.so
本パッケージの詳細は 「Ncurses の構成」を参照してください。