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