8.16. Tcl-8.6.14

O pacote Tcl contém a Tool Command Language, uma linguagem de script robusta de propósito geral. O pacote Expect é escrito em Tcl (pronunciada "tickle").

Tempo aproximado de construção: 3,2 UPC
Espaço em disco exigido: 91 MB

8.16.1. Instalação do Tcl

Esse pacote e os próximos dois (Expect e DejaGNU) são instalados para suportar a execução das suítes de teste para Binutils, GCC e outros pacotes. Instalar três pacotes para propósitos de teste possivelmente pareça excessivo, mas é muito assegurador, se não essencial, saber que as ferramentas mais importantes estão funcionando adequadamente.

Prepare Tcl para compilação:

SRCDIR=$(pwd)
cd unix
./configure --prefix=/usr           \
            --mandir=/usr/share/man \
            --disable-rpath

O significado dos novos parâmetros de configuração:

--disable-rpath

Esse parâmetro evita caminhos de pesquisa de biblioteca de codificação rígida (rpath) dentro dos arquivos binários executáveis e das bibliotecas compartilhadas. Esse pacote não precisa do rpath para uma instalação no local padrão, e o rpath às vezes pode causar efeitos indesejados ou até mesmo problemas de segurança.

Construa o pacote:

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

As várias instruções sed depois do comando make removem referências ao diretório de construção dos arquivos de configuração e as substituem pelo diretório de instalação. Isso não é obrigatório para o restante do LFS, porém possivelmente seja necessário se um pacote construído posteriormente usar a Tcl.

Para testar os resultados, emita:

make test

Instale o pacote:

make install

Torne as bibliotecas instaladas graváveis, de modo que símbolos de depuração possam ser removidos posteriormente:

chmod -v u+w /usr/lib/libtcl8.6.so

Instale os cabeçalhos da Tcl. O próximo pacote, Expect, exige elas.

make install-private-headers

Agora faça um link simbólico necessário:

ln -sfv tclsh8.6 /usr/bin/tclsh

Renomeie uma página de manual que conflita com uma página de manual do Perl:

mv /usr/share/man/man3/{Thread,Tcl_Thread}.3

Opcionalmente, instale a documentação emitindo os seguintes comandos:

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. Conteúdo do Tcl

Aplicativos instalados: tclsh (link para tclsh8.6) e tclsh8.6
Biblioteca instalada: libtcl8.6.so e libtclstub8.6.a

Descrições Curtas

tclsh8.6

O shell de comando da Tcl

tclsh

Um link para tclsh8.6

libtcl8.6.so

A biblioteca Tcl

libtclstub8.6.a

A biblioteca Stub da Tcl