%general-entities; ]> expect &expect-version;
&expect-url;
Expect-&expect-version; Expect <para>The <application>Expect</application> package contains tools for automating, via scripted dialogues, interactive applications such as <command>telnet</command>, <command>ftp</command>, <command>passwd</command>, <command>fsck</command>, <command>rlogin</command>, and <command>tip</command>. <application>Expect</application> is also useful for testing these same applications as well as easing all sorts of tasks that are prohibitively difficult with anything else. The <application>DejaGnu</application> framework is written in <application>Expect</application>.</para> <segmentedlist> <segtitle>&buildtime;</segtitle> <segtitle>&diskspace;</segtitle> <seglistitem> <seg>&expect-tmp-sbu;</seg> <seg>&expect-tmp-du;</seg> </seglistitem> </segmentedlist> </sect2> <sect2 role="installation"> <title>Installation of Expect Expect needs PTYs to work. Verify that the PTYs are working properly inside the chroot environment by performing a simple test: python3 -c 'from pty import spawn; spawn(["echo", "ok"])' This command should output ok. If, instead, the output includes OSError: out of pty devices, then the environment is not set up for proper PTY operation. You need to exit from the chroot environment, read again, and ensure the devpts file system (and other virtual kernel file systems) mounted correctly. Then reenter the chroot environment following . This issue needs to be resolved before continuing, or the test suites requiring Expect (for example the test suites of Bash, Binutils, GCC, GDBM, and of course Expect itself) will fail catastrophically, and other subtle breakages may also happen. Now, make some changes to allow the package with gcc-14.1 or later: patch -Np1 -i ../expect-&expect-version;-gcc14-1.patch Prepare Expect for compilation: ./configure --prefix=/usr \ --with-tcl=/usr/lib \ --enable-shared \ --disable-rpath \ --mandir=/usr/share/man \ --with-tclinclude=/usr/include The meaning of the configure options: --with-tcl=/usr/lib This parameter is needed to tell configure where the tclConfig.sh script is located. --with-tclinclude=/usr/include This explicitly tells Expect where to find Tcl's internal headers. Build the package: make To test the results, issue: make test Install the package: make install ln -svf expect&expect-version;/libexpect&expect-version;.so /usr/lib Contents of Expect Installed program Installed library expect libexpect&expect-version;.so Short Descriptions expect Communicates with other interactive programs according to a script expect libexpect-&expect-version;.so Contains functions that allow Expect to be used as a Tcl extension or to be used directly from C or C++ (without Tcl) libexpect-&expect-version;