8.16. Tcl-8.6.14

Пакет Tcl содержит Tool Command Language, надежный скриптовый язык общего назначения. Пакет Expect написан на языке Tcl (произносится как "тикл").

Приблизительное время сборки: 3.2 SBU
Требуемое дисковое пространство: 91 MB

8.16.1. Установка пакета 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

8.16.2. Содержимое пакета Tcl

Установленные программы: tclsh (ссылка на tclsh8.6) и tclsh8.6
Установленные библиотеки: libtcl8.6.so и libtclstub8.6.a

Краткое описание

tclsh8.6

Командная оболочка Tcl

tclsh

Ссылка на tclsh8.6

libtcl8.6.so

Библиотека Tcl

libtclstub8.6.a

Библиотека-заглушка Tcl