8.16. Tcl-8.6.14

Le paquet Tcl contient Tool Command Language, un langage de script robuste et polyvalent. Le paquet Expect est écrit en Tcl (prononcé [tickle]).

Temps de construction approximatif: 3,2 SBU
Espace disque requis: 91 Mo

8.16.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 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

8.16.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