[home] [description] [documentation] [download] [mailing lists] [contact tmk]

1 Getting TMK Up and Running

(This document corresponds to Section 1 of the document "Configuring
 and Installing tmk", available from http://tmk.sourceforge.net/doc/)

This section briefly explains the steps that are needed to install TMK
from scratch and get the basic system running.

1.1 Unpack files from the archive

When you obtain the TMK distribution from the TMK web site, it comes
as a packed archive file tmk-release-number.tar.gz. You have to extract
the files from these archives in some software package directory,
e.g. with the gunzip and tar tools on UNIX systems:

  gunzip tmk-release-number.tar.gz
  tar xvf tmk-release-number.tar

or programs like winzip on Windows systems (using its graphical user
interface). The extracted files will reside in a subdirectory called
tmk-release-number. The actual TMK system is located in
tmk-release-number/tmk. We will call this directory the TMK home
directory for now.

1.2 Install TCL

Next, you need to make sure that you have a reasonably new version of
TCL installed on your system. The current TMK release requires TCL
versions 8.x, since TMK relies on the namespace functionality and
operations such as file copy. You can obtain TCL for free from
http:://dev.scriptics.com. Usually, you should have a program called
tclsh in you path. You can find out its version by starting tclsh and
then typing

  info tclversion

You can leave the TCL shell again by typing exit. If the TCL shell
used for TMK is not the one in your system s search path, you can set
the environment variable TMK_TCLSH to the desired shell program, and
TMK will start using that shell.

1.3 Make TMK accessible

Next, you should include TMK's src subdirectory in the system's search
path (PATH environment variable), or create a symbolic link or alias
to the the actual executable. On UNIX systems, this is a TCL script
simply called tmk in the src subdirectory, while on Windows system
this script is invoked via a batch file called tmk.bat in the same
directory. Don't forget to type rehash if you are using csh or
tcsh. Furthermore, on Windows systems you must set the environment
variable TMK HOME to the absolute location (also including the drive
letter) of the TMK home directory, so that the batch file can find the
TCL script.

If it should happen that TMK cannot find its own location on UNIX
systems (e.g. it crashes inside the ::tmk::scriptname function), you
can also try to set the TMK_HOME environment variable manually. If
even this does not work, please report the problem via

1.4 Site-Specific Configuration

Now the basic TMK system should be ready to run. The only thing left
to do is con-figuring the different TMK modules you want to use,
mostly by specifying a number of site-dependent path names. Let s
start by typing

  tmk -sysinfo

Now TMK should display some information about the system it is running
on. Par-ticularly interesting items are the name of your machine
(HOST), the currently used network domain (DOMAIN), and the operating
system class (OSCLASS). If you re not in a network, the domain name
will be set to localdomain.

Now change to config/site in your TMK home directory. This is the
location where TMK tries to find site-specific configuration. On your
system, TMK will look for the following files, and read all existent
files in the specified order:

- site-config.tmk

where HOST, DOMAIN, and OSCLASS are again the placeholders for the
actual sys-tem information. So now you can create one or more of these
files in order to do the site-specific configuration for your machine
or all machines in your network. For example, if your machine is
called mymachine, and you are not connected to a network, you could
create the file


e.g. by copying one of the example configuration files in the examples
subdirectory. The example files are named in such way that you can
guess for which kind of systems they are designed. Here is a small
part of such an example site config file for a Linux machine:

  # example from site config for a RedHat Linux system
  # specify include/lib path + lib names for X11
  config set x11::INCPATH /usr/X11R6/include
  config set x11::LIBPATH /usr/X11R6/lib
  config set x11::LIBS    {Xt Xi Xext Xmu X11} 
  # specify include/lib path + lib names for QT
  config set qt::INCPATH /usr/include/qt2
  config set qt::LIBPATH /usr/lib/qt2
  config set qt::LIBS    {qt}
  # on UNIX, for QT you also need X11
  config set qt::DEPEND  {x11}

As you can easily derive from this example, the main purpose of the
site-specific configuration is to specify the directory names, library
names, and similar things such as the executable files for some helper
programs. Just check if the paths in the example files match those on
your system, and modify them if necessary. If you want to know more
about the meaning of the config set command and the config variables
specified in the files, please refer to the later sections of this
document and other detailed documentation on TMK.

Of course you only need to configure those TMK modules that you intend
to use. You can simply comment out all other lines by preceeding them
with a hash character ('#').

After completing the site-specific configuration, just type

  tmk -reconfig

and TMK will read all the relevant config files and store the result
in its so-called config cache file for the current system. The name of
that file is also displayed after successful configuration.

1.5 Problems...?

After the steps described above, TMK should be ready to go. However,
there can always arise circumstances in which the described procedure
fails. If so, please consider looking at the frequently asked
questions (FAQ), and specifically the installation FAQ in the
documentation section of the TMK web pages (tmk.sourceforge.net), or
contact the TMK team.

[home] [description] [documentation] [download] [mailing lists] [contact tmk]