Le paquet Tcl contient Tool Command Language, un langage de script robuste et polyvalent. Le paquet Expect est écrit en Tcl (prononcé [tickle]).
Ce paquet et les deux suivants (Expect et DejaGNU) sont installés pour prendre en charge le lancement des suites de tests de Binutils, GCC et d'autres paquets. Installer trois paquets pour effectuer des tests peut sembler excessif, mais c'est toujours rassurant, sinon essentiel, de savoir que les outils les plus importants fonctionnent correctement.
Préparez la compilation de Tcl :
SRCDIR=$(pwd) cd unix ./configure --prefix=/usr \ --mandir=/usr/share/man \ --disable-rpath
Voici la signification des nouveaux paramètres de configuration :
--disable-rpath
Ce paramètre évite de coder en dur des chemins de recherche des bibliothèques (rpath) dans les fichiers binaires exécutables et les bibliothèques partagée. Ce paquet n'a pas besoin des rpath pour une installation dans l'emplacement standard et les rpath peuvent parfois causer des effets non-désirés voire des problèmes de sécurité.
Construisez le paquet :
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
Les diverses instructions « sed » après la commande « make » suppriment des références au répertoire de construction des fichiers de configuration et les remplacent par le répertoire d'installation. Cela n'est pas requis pour le reste de LFS, mais peut être requis pour un paquet construit plus tard avec Tcl.
Pour tester les résultats, exécutez :
make test
Installez le paquet :
make install
Rendez la bibliothèque installée réinscriptible pour que les symboles de débogages puissent être supprimés plus tard :
chmod -v u+w /usr/lib/libtcl8.6.so
Installez les en-têtes de Tcl. Le paquet suivant, Expect, en a besoin.
make install-private-headers
Maintenant créez un lien symbolique nécessaire :
ln -sfv tclsh8.6 /usr/bin/tclsh
Renommez une page de manuel qui entre en conflit avec une page de manuel de Perl :
mv /usr/share/man/man3/{Thread,Tcl_Thread}.3
Éventuellement, installez la documentation en exécutant les commandes suivantes :
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