8.16. Expect-5.45.4

Expect パッケージには telnet, ftp, passwd, fsck, rlogin, tip といった対話処理ツールを、スクリプト化されたダイアログを通じて自動化するツールを提供します。 Expect はこういったアプリケーションをテストする場合にも利用できます。 また本パッケージを利用しないと相当に困難となるようなタスクを、いとも簡単に処理できるようになります。 DejaGnu フレームワークはこの Expect を用いて記述されています。

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

8.16.1. Expect のインストール

Expect をコンパイルするための準備をします。

./configure --prefix=/usr           \
            --with-tcl=/usr/lib     \
            --enable-shared         \
            --mandir=/usr/share/man \
            --with-tclinclude=/usr/include

configure オプションの意味

--with-tcl=/usr/lib

本パラメーターは configure に対して、tclConfig.sh スクリプトが存在するディレクトリを指示するために必要となります。

--with-tclinclude=/usr/include

Tcl の内部ヘッダーファイルを探し出す場所を指定します。

パッケージをビルドします。

make
[重要]

重要

Expect におけるテストスイートは重要なものとされます。 どのような場合であっても必ず実行してください。

ビルド結果をテストする場合は、以下を実行します。

make test

テストの中で The system has no more ptys. Ask your system administrator to create more というメッセージが出力されて失敗したものがあった場合、それは devpts ファイルシステムが適切にマウントされていないことを表します。 chroot 環境からいったん抜け出て、もう一度 「仮想カーネルファイルシステムの準備」 をお読みください。 そして devpts ファイルシステム(それに加えて他の仮想カーネルファイルシステム)を適切にマウントしてください。 「Chroot 環境への移行」 に従って chroot 環境に再度入ってください。 このメッセージは、先に進む前に解消しておくことが必要です。

パッケージをインストールします。

make install
ln -svf expect5.45.4/libexpect5.45.4.so /usr/lib

8.16.2. Expect の構成

インストールプログラム: expect
インストールライブラリ: libexpect5.45.4.so

概略説明

expect

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

libexpect-5.45.4.so

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