Introduction to Tcl
The Tcl package contains the Tool
Command Language, a robust general-purpose scripting language.
This package is known to build and work properly using an LFS-8.4
platform.
Package Information
Additional Downloads
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/tcl
Installation of Tcl
This package is also installed in LFS during the bootstrap phase.
As it is not installed during Chapter 6 of LFS, installation
instructions are included here in BLFS.
If you downloaded the optional documentation, unpack the tarball by
issuing the following command:
tar -xf ../tcl8.6.9-html.tar.gz --strip-components=1
Install Tcl by running the
following commands:
export SRCDIR=`pwd` &&
cd unix &&
./configure --prefix=/usr \
--mandir=/usr/share/man \
$([ $(uname -m) = x86_64 ] && echo --enable-64bit) &&
make &&
sed -e "s#$SRCDIR/unix#/usr/lib#" \
-e "s#$SRCDIR#/usr/include#" \
-i tclConfig.sh &&
sed -e "s#$SRCDIR/unix/pkgs/tdbc1.1.0#/usr/lib/tdbc1.1.0#" \
-e "s#$SRCDIR/pkgs/tdbc1.1.0/generic#/usr/include#" \
-e "s#$SRCDIR/pkgs/tdbc1.1.0/library#/usr/lib/tcl8.6#" \
-e "s#$SRCDIR/pkgs/tdbc1.1.0#/usr/include#" \
-i pkgs/tdbc1.1.0/tdbcConfig.sh &&
sed -e "s#$SRCDIR/unix/pkgs/itcl4.1.2#/usr/lib/itcl4.1.2#" \
-e "s#$SRCDIR/pkgs/itcl4.1.2/generic#/usr/include#" \
-e "s#$SRCDIR/pkgs/itcl4.1.2#/usr/include#" \
-i pkgs/itcl4.1.2/itclConfig.sh &&
unset SRCDIR
To test the results, issue: make
test.
Now, as the root
user:
make install &&
make install-private-headers &&
ln -v -sf tclsh8.6 /usr/bin/tclsh &&
chmod -v 755 /usr/lib/libtcl8.6.so
If you downloaded the optional documentation, install it by issuing
the following commands as the root
user:
mkdir -v -p /usr/share/doc/tcl-8.6.9 &&
cp -v -r ../html/* /usr/share/doc/tcl-8.6.9
Command Explanations
$([ $(uname -m) = x86_64 ] &&
echo --enable-64bit)
: This switch is used to enable 64
bit support in Tcl on 64 bit
operating systems.
make
install-private-headers: This command is used to
install the Tcl library interface
headers used by other packages if they link to the Tcl library.
ln -v -sf tclsh8.6
/usr/bin/tclsh: This command is used to create a
compatibility symbolic link to the tclsh8.6 file as many packages
expect a file named tclsh.
sed -e ...: The
Tcl package expects that its
source tree is preserved so that packages depending on it for their
compilation can utilize it. These sed remove the references to the
build directory and replace them with saner system-wide locations.