5.9. Expect-5.43.0

Expect 软件包包含一个程序,用于与其他交互式程序进行脚本对话。

预计构建时间: 0.1 SBU
所需磁盘空间: 4.0 MB
安装依赖于: Bash、Binutils、Coreutils、Diffutils、GCC、Glibc、Grep、Make、Sed 和 Tcl

5.9.1. Expect 的安装

首先,修复一个可能导致 GCC 测试套件运行期间出现误报错误的 Bug

patch -Np1 -i ../expect-5.43.0-spawn-1.patch

现在准备编译 Expect

./configure --prefix=/tools --with-tcl=/tools/lib \
   --with-tclinclude=$TCLPATH --with-x=no

configure 选项的含义

--with-tcl=/tools/lib

这确保 configure 脚本在临时工具位置找到 Tcl 安装,而不是可能在主机系统上找到现有的 Tcl 安装。

--with-tclinclude=$TCLPATH

这显式地告诉 Expect 在哪里找到 Tcl 的源代码目录和内部头文件。使用此选项可以避免由于 configure 无法自动发现 Tcl 源代码目录的位置而导致失败的情况。

--with-x=no

这告诉 configure 脚本不要搜索 Tk(Tcl GUI 组件)或 X Window System 库,这两者可能存在于主机系统上,但不会存在于临时环境中。

构建软件包

make

要测试结果,请执行:make test。请注意,已知 Expect 测试套件在某些我们无法控制的主机条件下会遇到失败。因此,此处的测试套件失败并不令人意外,也不被认为是严重的。

安装软件包

make SCRIPTS="" install

make 参数的含义

SCRIPTS=""

这阻止安装不需要的补充 expect 脚本。

现在移除TCLPATH变量

unset TCLPATH

现在可以移除 Tcl 和 Expect 的源代码目录。

5.9.2. Expect 的内容

已安装的程序: expect
已安装的库: libexpect-5.43.a

简短描述

expect

根据脚本与其他交互式程序通信

libexpect-5.43.a

包含允许 Expect 用作 Tcl 扩展或直接从 C 或 C++(不使用 Tcl)使用的函数