From 2203e654b389586650d553251b04544a34f189bf Mon Sep 17 00:00:00 2001 From: Sn4il Date: Mon, 2 Sep 2024 15:54:35 +0300 Subject: LFS 12.2 --- lfs-12.2-sysv/chapter08/tcl.html | 293 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 293 insertions(+) create mode 100644 lfs-12.2-sysv/chapter08/tcl.html (limited to 'lfs-12.2-sysv/chapter08/tcl.html') diff --git a/lfs-12.2-sysv/chapter08/tcl.html b/lfs-12.2-sysv/chapter08/tcl.html new file mode 100644 index 0000000..0b1860f --- /dev/null +++ b/lfs-12.2-sysv/chapter08/tcl.html @@ -0,0 +1,293 @@ + + + + + + 8.16. Tcl-8.6.14 + + + + + + + + +

+ 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 +

+
+
+
+
+ + + -- cgit v1.2.3