source: chapter05/expect.xml@ ea5c1d1

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.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 ea5c1d1 was b021115, checked in by Matthew Burgess <matthew@…>, 14 years ago

Upgrade to Expect-5.44.1.15. Fixes #2689.

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

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