Next Previous Contents

## 4. Installing and getting started with Tcl and Tk

Most modern distribution include Tcl and Tk. Rpm and deb packages with precompiled binaries are avalaible for Red Hat, SuSE and Debian distributions (that'll make installation easier).

A modern distribution standard installation will include Tcl/Tk as it is needed by many configuration tools running mainly under X.

Tcl and Tk are distributed freely in source form via the Internet. There are no restrictions on their use and no licenses or royalties are needed (see the license.terms section for complete information).

Many more Tcl/Tk scripts and extensions are also available freely.

## 4.1 Downloading the Core Distributions

The Tcl/Tk core consists of the Tcl and Tk libraries, plus the wish and tclsh applications, associated documentation, script libraries, and demonstrat ive applications. The primary FTP site for this information is ftp.scriptics.com/pub/tcl/.

The primary HTTP site is www.scriptics. com/software/download.html .

## 4.2 Installation

Unless already available for your Distribution in proprietary packages you'll want to download the source release. You'll need both Tcl and Tk source s. This procedure refers to the second case.

Choose between compressed tar and gzipped tar format.

Compressed Tar Files

Tcl sources (tcl8.0.3.tar.Z): compressed tar file (about 2.4 Mbytes). Tk sources (tk8.0.3.tar.Z): compressed tar file (about 3.3 Mbytes).

Gzipped Tar Files

Tcl sources (tcl8.0.3.tar.gz): gzipped tar file (about 1.5 Mbytes). Tk sources (tk8.0.3.tar.gz): gzip'ed tar file (about 2.1 Mbytes).

When you retrieve one of these files, you will get a compressed tar file with a name like tcl8.0.3.tar.gz or tcl8.0.3.tar.Z. The files are identical except for the technique used to compress them (.gz files are generally smalle r than .Z files).

To unpack the distribution, invoke shell commands like the following, depending on which version of the release you retrieved:

    gunzip -c tcl8.0.3.tar.gz

or

    tar xf - zcat tcl8.0.3.tar.Z

or

    tar xf - unzip tcl80.3.zip

Each of these commands will create a directory named tcl8.0.3, which includes the sources for all platforms, documentation, and the script library for Tcl 8.0. To compile and install the distribution, follow the instructions in the README file in the distribution directory. Be sure to compile Tcl before Tk, since Tk depends on information in Tcl.

## 4.3 The Contributed Archive

There are many other freely available packages for Tcl and Tk, including both scripts written in Tcl and extensions written in C or C++. These packages include database applications and network access, a graphical user interface builder, the expect program, additional Tk widgets, and dozens of other things . The primary site for the Tcl/Tk archive is ftp.neosoft.com/pub/tcl.

## 4.4 Mirror Sites

Several other sites around the world mirror the whole or part of the material from the core site and the contributed archive; you may find more useful to retrieve information from a mirror site that is close to you.

Ftp file "0_mirror" at: ftp.scriptics.com/pub/tcl/ for a list of the mirror sites in your country.

## 4.5 Which Releases to Use

Always refer to newer recommended version in section "Tcl/Tk Core" of the

Scriptics Soft ware Central page.

At the time of this writing, recommended releases are the latest (Tcl 8.0.3 and Tk 8.0.3), which were released in September, 1998. Tcl 8.0 contains a new bytecode compiler that can speed up execution by a factor of 2-10x. It also provides namespaces, binary I/O, and several other new features.

Tk 8.0 is the first release to provide native look and feel on Macintoshes and PCs. Tk 8.0 also supports application embedding and has a new portable font mechanism. Both Tcl 8.0 and Tk 8.0 provide additional features in the Safe-Tcl security model.

## 4.6 Where to report problems, bugs, or enhancements

Use comp.lang.tcl for public communicati ons.

The alternative would be to send problems, suggestions, new ideas, etc. directly to the author. Email to John Ousterhout will reach the author of Tcl and Tk.

When reporting problems or bugs, be sure to mention all the details needed for a correct diagnosis. Basically you will have to describe what hardware, operating system and version of Tcl/Tk you are using, if you have made any modification or add on and provide, if possible, either a small piece of code, or a URL to some code which demonstrates the problem.

If you have software from which you think the community might benefit (either a program, function, extension, or simple example), or you have a document, magazine or journal article, thesis, project, or even commercial advertisement , be sure to let the appropriate guys know.

There are FAQ maintainers for each of these areas as well as a comp.lang.tcl.announce newsgroup you can use.

It is always worthwhile to submit your contributions directly to the ftp site so more folk in the future can benefitthanks to your experience.

To make announcements to the comp.lang.tcl.announce newsgroup, send email with the details to tcl-announce. Also, feel free to just point folk at your own ftp site or WWW site if you have one which can be used .

Next Previous Contents