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-7.6 platform.
Download (HTTP): http://downloads.sourceforge.net/tcl/tcl8.6.2-src.tar.gz
Download MD5 sum: 8103eaf6d71acb716a64224492f09d5f
Download size: 8.5 MB
Estimated disk space required: 79 MB (includes documentation installation)
Estimated build time: 0.9 SBU (adittional 1.5 SBU for the tests)
Download (HTTP): http://downloads.sourceforge.net/tcl/tcl8.6.2-html.tar.gz
Download MD5 sum: 75019542fa735eb0c26e385b1a41296c
Download size: 1.2 MB
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/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.2-html.tar.gz --strip-components=1
Install Tcl by running the following commands:
export SRCDIR=`pwd` && cd unix && ./configure --prefix=/usr \ --without-tzdata \ --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.0.1#/usr/lib/tdbc1.0.0#" \ -e "s#$SRCDIR/pkgs/tdbc1.0.1/generic#/usr/include#" \ -e "s#$SRCDIR/pkgs/tdbc1.0.1/library#/usr/lib/tcl8.6#" \ -e "s#$SRCDIR/pkgs/tdbc1.0.1#/usr/include#" \ -i pkgs/tdbc1.0.1/tdbcConfig.sh && sed -e "s#$SRCDIR/unix/pkgs/itcl4.0.1#/usr/lib/itcl4.0.0#" \ -e "s#$SRCDIR/pkgs/itcl4.0.1/generic#/usr/include#" \ -e "s#$SRCDIR/pkgs/itcl4.0.1#/usr/include#" \ -i pkgs/itcl4.0.1/itclConfig.sh && unset SRCDIR
To test the results, issue: make test.
Now, as the
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
mkdir -v -p /usr/share/doc/tcl-8.6.2 && cp -v -r ../html/* /usr/share/doc/tcl-8.6.2
--without-tzdata: This switch prevents
installation of the shipped timezone data which are older than the
ones provided in LFS.
$([ $(uname -m) = x86_64 ] &&
echo --enable-64bit): This switch is used to enable 64
bit support in Tcl on 64 bit
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.
Last updated on 2014-09-15 12:23:10 -0700