Пакет Expect содержит инструменты для автоматизации работы интерактивных приложений, таких как telnet, ftp, passwd, fsck, rlogin и tip, с помощью скриптовых диалогов и макросов. Кроме того Expect полезен для тестирования перечисленных выше приложений, а также для решения сложных задач взаимодействия с другими средствами. Фреймворк DejaGnu написан на языке Expect.
Expect для работы необходим псевдотерминал(PTY). Убедитесь, что PTY работают правильно в среде chroot, выполнив простой тест:
python3 -c 'from pty import spawn; spawn(["echo", "ok"])'
          Эта команда должна вывести ok.
          Если вместо этого вывод содержит OSError: out of pty devices, то среда не
          настроена для правильной работы PTY. Вам необходимо выйти из среды
          chroot, ещё раз прочитать Раздел 7.3,
          «Подготовка виртуальных файловых систем ядра» и убедиться, что
          файловая система devpts (и другие
          файловые системы виртуального ядра) смонтирована правильно. Затем
          повторно войдите в среду chroot, следуя инструкции Раздел 7.4, «Вход в окружение
          Chroot». Эту проблему необходимо решить, прежде чем вы
          продолжите, иначе наборы тестов, зависимые от Expect (например,
          наборы тестов Bash, Binutils, GCC, GDBM и, конечно, самого Expect),
          потерпят фатальный сбой, а также могут произойти другие
          незначительные сбои.
        
Теперь внесите некоторые изменения, чтобы разрешить использование пакета с gcc-14.1 или более поздней версией:
patch -Np1 -i ../expect-5.45.4-gcc14-1.patch
Подготовьте Expect к компиляции:
./configure --prefix=/usr           \
            --with-tcl=/usr/lib     \
            --enable-shared         \
            --disable-rpath         \
            --mandir=/usr/share/man \
            --with-tclinclude=/usr/include
        Значение параметров настройки:
--with-tcl=/usr/lib
            Этот параметр необходим для указания configure где находится скрипт tclConfig.sh.
--with-tclinclude=/usr/include
            Этот параметр явно указывает Expect, где искать внутренние заголовки Tcl.
Соберите пакет:
make
Чтобы протестировать пакет, выполните:
make test
Установите пакет:
make install ln -svf expect5.45.4/libexpect5.45.4.so /usr/lib