Expect パッケージは、他のプログラムと対話的に処理を行うプログラムを提供します。
まずバグフィックスを行います。 これは GCC のテストスイートの失敗を回避するものです。
patch -Np1 -i ../expect-5.43.0-spawn-1.patch
次のバグフィックスは Tcl の最近の変更に対応するものです。
patch -Np1 -i ../expect-5.43.0-tcl_8.5.5_fix-1.patch
Expect の configure スクリプトは、ホストシステムの /usr/local/bin/stty
を利用しようとしますが、/bin/stty
を利用するように修正します。
これを行うのは、ここで構築しているテストスイートのツール類を、ツールチェーンの最終構築まで正常動作してもらうために必要となるからです。
cp -v configure{,.orig} sed 's:/usr/local/bin:/bin:' configure.orig > configure
Expect をコンパイルするための準備をします。
./configure --prefix=/tools --with-tcl=/tools/lib \ --with-tclinclude=/tools/include --with-x=no
configure オプションの意味:
--with-tcl=/tools/lib
Tcl のインストールモジュールを、ホストシステムに存在しているツール類の場所からではなく、一時的ツールを配置したディレクトリから探し出すことを指示します。
--with-tclinclude=/tools/include
Tcl の内部ヘッダファイルを探し出す場所を指定します。 configure は自動的には Tcl ヘッダファイルの場所を探し出さないため、これを明示します。
--with-x=no
Tk (Tcl の GUI コンポーネント) や X ウィンドウシステムライブラリを検索しないことを指示します。 いずれもホストシステムに存在するかもしれませんが、 今作り出す一時システムには存在しません。
パッケージをビルドします。
make
コンパイルが終了しました。 前にも述べたように、この章にて一時的ツールのテストスイートを実行することは必須ではありません。 しかしテストスイートを実行するなら、以下を実行します。
make test
Expect のテストスイートは、特定のホスト環境において失敗することがありますが、その原因はよく分かっていません。 したがってテストスイートの失敗は驚くことではなく、さして重大なことではありません。
パッケージをインストールします。
make SCRIPTS="" install
make パラメータの意味:
SCRIPTS=""
Expect の補助的なスクリプトはインストールしないことを指示します。 これらは必要ありません。