Пакет Tcl содержит Tool Command Language, надежный скриптовый язык общего назначения. Пакет Expect написан на языке Tcl (произносится как "тикл").
Этот пакет и следующие два (Expect и DejaGNU) устанавливаются для поддержки возможности тестирования Binutils, GCC и других пакетов. Установка трех пакетов для целей тестирования может показаться избыточной, но вы будете чувствовать себя увереннее, когда знаете, что наиболее важные инструменты работают правильно.
Подготовьте Tcl к компиляции:
SRCDIR=$(pwd) cd unix ./configure --prefix=/usr \ --mandir=/usr/share/man \ --disable-rpath
Значение новых параметров конфигурации:
--disable-rpath
Этот параметр предотвращает использование библиотеки поиска списка жестко запрограммированных путей (rpath) в двоичных исполняемых файлах и общих библиотеках. Этому пакету не требуется rpath для установки в стандартное местоположение, кроме того, rpath иногда может вызывать нежелательные эффекты или даже проблемы с безопасностью.
Соберите пакет:
make sed -e "s|$SRCDIR/unix|/usr/lib|" \ -e "s|$SRCDIR|/usr/include|" \ -i tclConfig.sh sed -e "s|$SRCDIR/unix/pkgs/tdbc1.1.7|/usr/lib/tdbc1.1.7|" \ -e "s|$SRCDIR/pkgs/tdbc1.1.7/generic|/usr/include|" \ -e "s|$SRCDIR/pkgs/tdbc1.1.7/library|/usr/lib/tcl8.6|" \ -e "s|$SRCDIR/pkgs/tdbc1.1.7|/usr/include|" \ -i pkgs/tdbc1.1.7/tdbcConfig.sh sed -e "s|$SRCDIR/unix/pkgs/itcl4.2.4|/usr/lib/itcl4.2.4|" \ -e "s|$SRCDIR/pkgs/itcl4.2.4/generic|/usr/include|" \ -e "s|$SRCDIR/pkgs/itcl4.2.4|/usr/include|" \ -i pkgs/itcl4.2.4/itclConfig.sh unset SRCDIR
Различные инструкции «sed» после команды «make» удаляют ссылки на каталог сборки из файлов конфигурации и заменяют их на созданные каталоги. Это необязательно для остальной части LFS, но может понадобиться в случае, когда пакет, собранный позже, использует Tcl.
Чтобы протестировать пакет, выполните:
make test
Установите пакет:
make install
Сделайте установленную библиотеку доступной для записи, чтобы позже можно было удалить отладочные символы:
chmod -v u+w /usr/lib/libtcl8.6.so
Установите заголовочные файлы Tcl. Они потребуются для следующего пакета - Expect.
make install-private-headers
Теперь создайте необходимую символическую ссылку:
ln -sfv tclsh8.6 /usr/bin/tclsh
Переименуйте справочную страницу, которая конфликтует со справочной страницей Perl:
mv /usr/share/man/man3/{Thread,Tcl_Thread}.3
При необходимости установите документацию, выполнив следующие команды:
cd .. tar -xf ../tcl8.6.14-html.tar.gz --strip-components=1 mkdir -v -p /usr/share/doc/tcl-8.6.14 cp -v -r ./html/* /usr/share/doc/tcl-8.6.14