Previous Next Table of Contents

3. Installation

3.1 External software needed

To use sqlscreens, you will need a number of external software packages:

In order to access the databases, the basic TCL interpreter must be augmented with a database access module:

If you're reading this in a browser, there is a download page where you can get the sqlscreens package and which also points to the other pieces.

3.2 Installation procedure

The package comes as a gzipped tar file named something like sqlscreens-X.Y.Z.tar.gz.

Unpacking the file (gunzip < sqlscreens-X.Y.Z.tar.gz | tar xvf -) will create a top directory named like sqlscreens-X.Y.Z.

X is the major release number. Y is the minor release. Z is the bug fix release number. Don't make too much of it...

First, if needed, compile and install TCL and TK (untar; cd tcl8.../unix;configure;make;make install, same for tk). tcl and wish will probably be installed as "/usr/local/bin/tclsh8.0" and "/usr/local/bin/wish8.0". The sqlscreens Makefile expects to find "tclsh" and "wish". Please make a link, and ensure that your PATH is setup to execute the correct copy of tclsh and wish.

The next step is to add database-access capability to the standard TCL/TK wish interpreter. This can be done in two ways, either by statically linking the database access module (mysqltcl or isqltcl) with the interpreter or by using the TCL load facility and a shared library. The dynamic version sometimes need some manual tweaking to work.

The Makefile in the sqlscreens directory only supports MySQL internally. If you will be using isqltcl and INFORMIX, follow the installation instructions in the isqltcl package to generate the interpreter.

For ODBC, you should first install the driver manager, the driver(s) you need and the tclodbc TCL extension. Follow the instructions in each package.

Generating a wish interpreter with MySQL support:

Both the static and dynamic load methods are supported by the build tools in the sqlscreens directory. Only Linux (RedHat 4.1/4.2), SOLARIS, and FreeBSD 2.2.x have been tested, it is not guaranteed to work on other systems. The Makefile generated by configure is small, it should be easy to adjust if needed.

The configuration script only looks for the MySQL library in /usr/local/mysql/lib and /usr/local/lib/mysql. If your installation is different, please make symbolic links or modify the scripts.

When you're ready:

  1. "cd" to the sqlscreens directory, and type "./configure".
  2. Type "make" to compile and link the mysqlwish interpreter and the shared library. The shared library link may produce error messages, see below.
  3. Type "make install" to install the package. This will create a "/usr/local/lib/sqlsc" directory and copy the shared library and TCL code there. It will also copy mysqlwish to "/usr/local/bin. If the shared library link failed at the previous step, or if you get error messages about unfound symbols during installation, either type "make install-static" to just install the static version, or review the README-DYNAMIC file where there is some more information about dynamic libraries issues. If you're in a hurry or/and are not used to building shared libraries, you might just want to use the static version.

If you use TCL with other statically linked extensions, and want to use the same interpreter with sqlscreens, you will have to add the Mysqltcl_Initcall to your usual tkAppInit file and modify your Makefile to link with mysqltcl.o. You've probably been through this already. Have a look at the included tkAppinit.c

Because the dynamic version is sometimes a pain to build, the sample scripts are now set up to be executed by mysqlwish by default (for MySQL). If you managed to get the dynamic version to build, you'll certainly find it easy to change the first line in the scripts...


Previous Next Table of Contents