8.15. Tcl-8.6.11

Le paquet Tcl contient le langage de commande des outils, un langage de script robuste. Le paquet Expect est écrit en Tcl.

Temps de construction approximatif: 3.8 SBU
Espace disque requis: 80 Mo

8.15.1. Installation de 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
[Note]

Note

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

8.15.2. Contenu de Tcl

Programmes installés: tclsh (lien vers tclsh8.6) et tclsh8.6
Bibliothèque installée: libtcl8.6.so et libtclstub8.6.a

Descriptions courtes

tclsh8.6

Le shell de commande de Tcl

tclsh

Un lien vers tclsh8.6

libtcl8.6.so

La bibliothèque Tcl

libtclstub8.6.a

La bibliothèque de base de Tcl