5.12. Expect-5.43.0

Expect パッケージは、他のプログラムと対話的に処理を行うプログラムを提供します。

概算ビルド時間: 0.1 SBU
必要ディスク容量: 4.1 MB

5.12.1. 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 の補助的なスクリプトはインストールしないことを指示します。 これらは必要ありません。

5.12.2. Expect の構成

インストールプログラム: expect
インストールライブラリ: libexpect-5.43.a

概略説明

expect

スクリプトを通じて他の対話的なプログラムとの処理を行います。

libexpect-5.43.a

Tcl 拡張機能を通じて、あるいは (Tcl がない場合に) C や C++ から直接、Expect とのやりとりを行う関数を提供します。