Le paquet Tcl contient le langage de commande des outils, un langage de script robuste. Le paquet Expect est écrit en Tcl.
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 les tests peut sembler excessif, mais c'est toujours rassurant, sinon essentiel, de savoir que les outils les plus importants fonctionnent correctement.
Tout d'abord, déballez la documentation en lançant la commande suivante :
tar -xf ../tcl8.6.11-html.tar.gz --strip-components=1
Préparez la compilation de Tcl :
SRCDIR=$(pwd) cd unix ./configure --prefix=/usr \ --mandir=/usr/share/man \ $([ "$(uname -m)" = x86_64 ] && echo --enable-64bit)
Voici la signification des options de configure :
$([ "$(uname
-m)" = x86_64 ] && echo
--enable-64bit)
La construction $(<commande
shell>)
est remplacée par la sortie de
commande shell. Ici cette sortie est vide si vous lancez sur
une machine 32 bit et --enable-64bit
si vous la
lancez sur une machine 64 bits.
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.2|/usr/lib/tdbc1.1.2|" \ -e "s|$SRCDIR/pkgs/tdbc1.1.2/generic|/usr/include|" \ -e "s|$SRCDIR/pkgs/tdbc1.1.2/library|/usr/lib/tcl8.6|" \ -e "s|$SRCDIR/pkgs/tdbc1.1.2|/usr/include|" \ -i pkgs/tdbc1.1.2/tdbcConfig.sh sed -e "s|$SRCDIR/unix/pkgs/itcl4.2.1|/usr/lib/itcl4.2.1|" \ -e "s|$SRCDIR/pkgs/itcl4.2.1/generic|/usr/include|" \ -e "s|$SRCDIR/pkgs/itcl4.2.1|/usr/include|" \ -i pkgs/itcl4.2.1/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 remplace par les répertoires d'installation. Ce 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, lancez :
make test
Dans les résultats des tests, il y a plusieurs endroits associés à clock.test qui indiquent un échec, mais le résumé à la fin n'indique aucun échec. clock.test fonctionne sur un système LFS complet.
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
Enfin, 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