本パッケージの詳細は 「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-normal \ --with-cxx-shared \ --without-debug \ --without-ada \ --disable-stripping \ --enable-widec
configure オプションの意味
--with-manpage-format=normal
本パラメーターは Ncurses が圧縮された man ページをインストールしないようにします。 ホストディストリビューションそのものが圧縮 man ページを利用していると、同じようになってしまうからです。
--with-shared
これは Ncurses において共有 C ライブラリをビルドしインストールします。
--without-normal
これは Ncurses においてスタティックな C ライブラリのビルドおよびインストールを行わないようにします。
--without-debug
これは Ncurses においてデバッグライブラリのビルドおよびインストールを行わないようにします。
--with-cxx-shared
これは Ncurses において共有 C++ バインディングをビルドしインストールします。 同時にスタティックな C++ バインディングのビルドおよびインストールは行わないようにします。
--without-ada
このオプションは Ncurses に対して Ada コンパイラーのサポート機能をビルドしないよう指示します。 この機能はホストシステムでは提供されているかもしれませんが、chroot 環境に入ってしまうと利用できなくなります。
--disable-stripping
本スイッチは、ホスト上の strip を、ビルドシステムが利用しないようにします。 クロスコンパイルされたプログラムに対して、ホスト上のツールを使うと、ビルド失敗の原因になります。
--enable-widec
本スイッチは通常のライブラリ (libncurses.so.6.4
) ではなくワイド文字対応のライブラリ
(libncursesw.so.6.4
)
をビルドすることを指示します。 ワイド文字対応のライブラリは、マルチバイトロケールと従来の
8ビットロケールの双方に対して利用可能です。 通常のライブラリでは 8ビットロケールに対してしか動作しません。
ワイド文字対応と通常のものとでは、ソース互換があるもののバイナリ互換がありません。
パッケージをコンパイルします。
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 章 においてビルドします。
本パッケージの詳細は 「Ncurses の構成」を参照してください。