5.10. Expect-5.43.0

Das Paket Expect führt vorprogrammierte Dialoge mit anderen interaktiven Programmen aus.

Geschätzte Kompilierzeit: 0.1 SBU
Etwa Benötigter Speicherplatz: 4 MB

5.10.1. Installation von Expect

Spielen Sie erst einen Patch ein; er behebt einen Fehler, der ansonsten Fehlalarme beim Durchlaufen von GCCs Testsuite verursachen könnte:

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

Als nächstes beheben Sie einen Fehler, der durch kürzliche Änderungen an Tcl entstanden ist:

patch -Np1 -i ../expect-5.43.0-tcl_8.5.5_fix-1.patch

Als nächstes verändern Sie das configure-Skript von Expect so, dass es /bin/stty anstelle von /usr/local/bin/stty verwendet (falls dieses auf dem Host-System installiert ist). Auf diese Weise bleibt die Testsuite sauber für die endgültigen Kompilier-Durchläufe der toolchain:

cp -v configure{,.orig}
sed 's:/usr/local/bin:/bin:' configure.orig > configure

Bereiten Sie Expect nun zum Kompilieren vor:

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

Die Bedeutung der configure-Parameter:

--with-tcl=/tools/lib

So stellen Sie sicher, dass das configure-Skript die Tcl-Installation in Ihrem temporären Ordner findet. Es sollte keine möglicherweise auf dem Host-System installierte Version gefunden werden.

--with-tclinclude=/tools/include

Durch diesen Parameter wird Expect mitgeteilt, wo die Header von Tcl zu finden sind. Dadurch wird ein Fehlschlagen von configure vermieden, falls es die Tcl-Header nicht automatisch auffinden kann.

--with-x=no

Dies teilt dem configure-Skript mit, dass es nicht nach Tk (der grafischen Oberfläche zu Tcl) oder den X-Window-Bibliotheken suchen soll; beide könnten eventuell auf dem Host-System existieren, fehlen aber in der temporären Arbeitsumgebung.

Kompilieren Sie das Paket:

make

Der Kompiliervorgang ist nun abgeschlossen. Wie bereits erwähnt, wird empfohlen, die Testsuite für das temporäre System in diesem Kapitel nicht durchlaufen zu lassen. Falls Sie die Testsuite dennoch laufen lassen möchten, führen Sie dieses Kommando aus:

make test

Es ist bekannt, dass die Testsuite in diesem Kapitel unter bestimmten Umständen Schwierigkeiten verursacht, auf die wir keinen Einfluss haben. Es ist daher nicht überraschend, wenn die Testsuite Fehler meldet, diese werden jedoch nicht als kritisch betrachtet.

Installieren Sie das Paket:

make SCRIPTS="" install

Die Bedeutung des make-Parameters:

SCRIPTS=""

Dies verhindert die Installation der mitgelieferten Expect-Skripte, sie werden hier nicht gebraucht.

5.10.2. Inhalt von Expect

Installiertes Programm: expect
Installierte Bibliothek: libexpect-5.43.a

Kurze Beschreibungen

expect

Expect „Spricht“ mit anderen interaktiven Programmen. Es verwendet dafür ein anpassbares Skript.

libexpect-5.43.a

Enthält Funktionen, mit denen man Expect als TCL-Erweiterung oder direkt aus C/C++ (ohne TCL) nutzen kann