source: chapter05/expect.xml@ 9d4c6dc

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 6.3 6.4 6.5 6.6 6.7 6.8 7.0 7.1 7.2 7.3 7.4 7.5 7.5-systemd 7.6 7.6-systemd 7.7 7.7-systemd 7.8 7.8-systemd 7.9 7.9-systemd 8.0 8.1 8.2 8.3 8.4 9.0 9.1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since 9d4c6dc was 9d4c6dc, checked in by Jeremy Huntwork <jhuntwork@…>, 17 years ago

Fix potential corruption of the testsuite tools
by forcing expect to always use /bin/stty and not /usr/local/bin/stty.
Fixes #1892.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@7870 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 5.2 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../general.ent">
5 %general-entities;
6]>
7
8<sect1 id="ch-tools-expect" role="wrap">
9 <?dbhtml filename="expect.html"?>
10
11 <title>Expect-&expect-version;</title>
12
13 <indexterm zone="ch-tools-expect">
14 <primary sortas="a-Expect">Expect</primary>
15 </indexterm>
16
17 <sect2 role="package">
18 <title/>
19
20 <para>The Expect package contains a program for carrying out scripted
21 dialogues with other interactive programs.</para>
22
23 <segmentedlist>
24 <segtitle>&buildtime;</segtitle>
25 <segtitle>&diskspace;</segtitle>
26
27 <seglistitem>
28 <seg>&expect-ch5-sbu;</seg>
29 <seg>&expect-ch5-du;</seg>
30 </seglistitem>
31 </segmentedlist>
32
33 </sect2>
34
35 <sect2 role="installation">
36 <title>Installation of Expect</title>
37
38 <para>First, fix a bug that can result in false failures during the GCC test
39 suite run:</para>
40
41<screen><userinput>patch -Np1 -i ../&expect-spawn-patch;</userinput></screen>
42
43 <para>Next, force Expect's configure script to use <filename>/bin/stty</filename>
44 instead of a <filename>/usr/local/bin/stty</filename> it may find on the host system.
45 This will ensure that our testsuite tools remain sane for the final builds of our
46 toolchain.</para>
47
48<screen><userinput>cp configure{,.bak}
49sed 's:/usr/local/bin:/bin:' configure.bak &gt; configure</userinput></screen>
50
51 <para>Now prepare Expect for compilation:</para>
52
53<screen><userinput>./configure --prefix=/tools --with-tcl=/tools/lib \
54 --with-tclinclude=/tools/include --with-x=no</userinput></screen>
55
56 <variablelist>
57 <title>The meaning of the configure options:</title>
58
59 <varlistentry>
60 <term><parameter>--with-tcl=/tools/lib</parameter></term>
61 <listitem>
62 <para>This ensures that the configure script finds the Tcl
63 installation in the temporary tools location instead of possibly
64 locating an existing one on the host system.</para>
65 </listitem>
66 </varlistentry>
67
68 <varlistentry>
69 <term><parameter>--with-tclinclude=/tools/include</parameter></term>
70 <listitem>
71 <para>This explicitly tells Expect where to find Tcl's internal
72 headers. Using this option avoids conditions where
73 <command>configure</command> fails because it cannot automatically
74 discover the location of Tcl's headers.</para>
75 </listitem>
76 </varlistentry>
77
78 <varlistentry>
79 <term><parameter>--with-x=no</parameter></term>
80 <listitem>
81 <para>This tells the configure script not to search for Tk (the
82 Tcl GUI component) or the X Window System libraries, both of which
83 may reside on the host system but will not exist in the temporary
84 environment.</para>
85 </listitem>
86 </varlistentry>
87
88 </variablelist>
89
90 <para>Build the package:</para>
91
92<screen><userinput>make</userinput></screen>
93
94 <para>To test the results, issue: <userinput>make test</userinput>.
95 Note that the Expect test suite is known to experience failures under
96 certain host conditions that are not within our control. Therefore,
97 test suite failures here are not surprising and are not considered
98 critical.</para>
99
100 <para>Install the package:</para>
101
102<screen><userinput>make SCRIPTS="" install</userinput></screen>
103
104 <variablelist>
105 <title>The meaning of the make parameter:</title>
106
107 <varlistentry>
108 <term><parameter>SCRIPTS=""</parameter></term>
109 <listitem>
110 <para>This prevents installation of the supplementary Expect
111 scripts, which are not needed.</para>
112 </listitem>
113 </varlistentry>
114
115 </variablelist>
116
117 </sect2>
118
119 <sect2 id="contents-expect" role="content">
120 <title>Contents of Expect</title>
121
122 <segmentedlist>
123 <segtitle>Installed program</segtitle>
124 <segtitle>Installed library</segtitle>
125
126 <seglistitem>
127 <seg>expect</seg>
128 <seg>libexpect-&expect-lib-version;.a</seg>
129 </seglistitem>
130 </segmentedlist>
131
132 <variablelist>
133 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
134 <?dbfo list-presentation="list"?>
135 <?dbhtml list-presentation="table"?>
136
137 <varlistentry id="expect">
138 <term><command>expect</command></term>
139 <listitem>
140 <para>Communicates with other interactive programs according
141 to a script</para>
142 <indexterm zone="ch-tools-expect expect">
143 <primary sortas="b-expect">expect</primary>
144 </indexterm>
145 </listitem>
146 </varlistentry>
147
148 <varlistentry id="libexpect">
149 <term><filename class="libraryfile">libexpect-&expect-lib-version;.a</filename></term>
150 <listitem>
151 <para>Contains functions that allow Expect to be used as a Tcl
152 extension or to be used directly from C or C++ (without Tcl)</para>
153 <indexterm zone="ch-tools-expect libexpect">
154 <primary sortas="c-libexpect-&expect-lib-version;">libexpect-&expect-lib-version;</primary>
155 </indexterm>
156 </listitem>
157 </varlistentry>
158
159 </variablelist>
160
161 </sect2>
162
163</sect1>
Note: See TracBrowser for help on using the repository browser.