# Installation Notes

This distribution has been created and tested under Windows 2000 Professional (with the cygwin 1.1.4 libraries) and linux operating systems using gcc 2.95.2. Since the interface is ostensibly the same (Win32) then there should be no major difficulty in porting to a Windows 98 or Windows 2000 User environment.

NOTE | 1. The cygwin libraries 1.1.4 use a 'unix-compatible' way of referring to the root directory on any file partition. Setting up the SATHER_HOME environment variable, etc should set them as "/cygdrive/c/ ....." or d or e, etc. This applies to all file/directory names in environment variables!!
| 2. The new cygwin libraries now use colons to separate elements of a search path - in unix/linux style!

Before installing Sather you should check that you have the latest version of gcc and libraries (including X and Tcl/Tk) and, if using a Win32 platform you should download the cugwin 1.1.4 libraries (or later). Earlier versions will not necessarily work!!

You should also ensure that you have installed the garbage collector 'gc' - available from the GNU site. Build it and test it as necessary. The include file (gc.h) is expected to be in /usr/include/gc and the library file in /usr/lib as libgc.a.

1. The first step in installing a Sather implementation is to choose a suitable location for the distribution files. Once this has been done then the distribution should be unzipped (using, for example, the gzip utility from Gnu) into the chosen directory.
2. The next thing is to set up the environment variables needed by the installation.
   - The directory into which the distribution was unzipped should be designated by the environment variable SATHER_HOME.
   - LOCALE - this should have a value composed of two two-letter abbreviations separated by a Low Line character - '_'. The first two letters should be the language of the local culture using the abbreviation specified in ISO 639; the second pair defines the territory as given in ISO 3166 (see here for references).

     During initial beta release the only complete one available with the distribution is 'en_NZ'!

     See also the documentation on the cultural compiler (salccomp) for details of creating new cultural descriptions when the full version of salccomp becomes available.

   - SATHER_ENV - this third environment variable should be set to the value
     <SATHER_HOME>/resources/<LOCALE>/bin/LIBCHARS

     It enables the low-level culture-dependent parameters to be read from that file which is created during cultural description compilation and moved to the appropriate directory.

   - SATHER_RESOURCES - this environment variable is optional unless a program which provides textual interaction with its execution environment is being run. In that case additional directories and message files will need to be set up to contain the relevant message formatting strings. This environment variable, therefore, is expected to be a search path (see note above) of directories to be used when setting up the resources for the program at execution time. This search path is normally expected to contain the Resource directory used by the Required Library implementation (see specifications) -
     <SATHER_HOME>/Resources/<LOCALE>
3. Once these environment variables have been set up correctly and checked then the execution serch path should be set up to include the <SATHER_HOME>/Bin directory.
4. The first stage in building the Sather distribution is to issue the command 'make clean' which should do nothing - but, if installing over a previous version, will clean out unnecessary files. The bin directory should be checked and emptied of all except the sacomp-boot directory. This may involve removing executables.
5. The first step in actual building is therefore the configuration for the platform being used - the command is 'make -f ./configure <platform name>'
6. Now the command make will set up the installation, compiling as necessary. Note that there may be the odd warning from the C compiler - but these may be safely ignored. A break for a cup of coffee would be a good idea here - depending on how fast your computer and how much memory it has! When you get a prompt you have successfully installed Sather.
7. It is normally wise at this stage to compile and run the Required Library test suite (the source for which is the Sather module `test.module` in the directory <SATHER_HOME>/test. It would be wise to re-direct the standard output channel to a test log file for later use if needed. The standard error channel reports progress and indicates which test group (for which class) failed. Note that this test runs with full checking enabled and therefore carries out many millions of pre and post condition checks, a significant number of which involve the comparison of quite long (up to several hundred characters) strings.

Comments or enquiries should be made to Keith Hopper . Page last modified: Monday, 16 October 2000. |