Instructions for installing and running Soar 7.3 on Unix systems. ------------------------------------------------------------------ (note: this distribution includes the executables for linux, so if you are using a linux system, you don't have to rebuild Soar. Just run soar by invoking start-soar.tcl. See step 4.) These instructions seem long because I've tried to include as much detail, and anticipate as many variances as possible. I hope to write a GUI sometime soon for building Soar on Unix systems, but for now you'll have to follow these instructions. Requirements: 1. The Soar distribution, from ftp://ftp.eecs.umich.edu/people/kcoulter/Soar/Soar73.tgz 2. Tcl 8.0 for your Unix system. Soar7.3 is also compatible with Tcl 7.6/Wish4.2, if you already have that installed. But for the best performance and appearance, it is recommened that you build and run Soar with Tcl 8.0. If you do not already have Tcl installed on your system, you can get the source code from: ftp://ftp.scriptics.com/pub/tcl/tcl8_0/tcl8.0.4.tar.gz ftp://ftp.scriptics.com/pub/tcl/tcl8_0/tk8.0.4.tar.gz The versions of Tcl/Tk do matter when building and running Soar, so be sure you know which ones you have and which you want to use. If you have both versions on your system, the config process will automatically prefer Tcl8.0. (I think...it did on my machine.) The rest of this README file will refer to directions for building with Tcl8.0. To build with Tcl7.6 and Wish4.2, just substitute in the different version numbers where appropriate. see http://scriptics.com/software/8.0.html for more information and to download the source code from your browser. This file contains the full source release of Soar-7.3, already precompiled to run on the Linux operating system. If you wish to use some other operating system, you will have to build the binaries as described below. 1. Download Soar73.tgz and unzip and uncompress it. Usually tar xfz Soar73.tgz if you have gnu tar. Otherwise, gunzip (or zcat) the file first and pipe it to tar. This will create a Soar-7.3 directory. 2. If you do NOT have Tcl8.0, or Tcl 7.6 and Tk 4.2 installed on your system (and the version does matter), you will need to install one of those now, preferably Tcl8.0. If you do have it, locate the tcl.h include file, the lib files libtcl8.0.so and libtk8.0.so, and wish8.0, and go to step 3. There are several ways that you might check to see if you have Tcl 8.0 already installed: - try running wish. If this works, find out the version by typing "set tcl_version" and "set tk_version" - look in /usr/bin, /usr/ucb, /usr/tcl and other system locations. - ask your system administrator, and find out where it is installed. If you did not find Tcl in the "standard" location, you might try to "find" it somewhere else on your system. If it is installed in some other directory, you don't need to re-install it, just edit the "make-soar" and "start-soar.tcl" files as in steps 3 and 4. If you do need to install Tcl 8.0, see the scriptics web page listed above for instructions on downloading and installing Tcl and Tk. 3. After you have verified that you have Tcl and Tk installed, you will need to build Soar, unless you are on a linux system, in which case you can go to step 4. Look at the make-soar file in the Soar-7.3 directory. you may need to edit the locations of header and include files. --with-tcl-lib-dir should point to the directory that contains libtcl8.0.so; likewise for --with-tk-lib-dir. These two definitions occur twice in the make-soar file, so make sure you change it both places. --with-tcl-doc-dir should point to the directory that contains the Tcl man pages if you want to access the Tcl man pages from within Soar. If tcl.h is _not_ located in one of the following locations: Soar-7.3/../.. /usr/include /usr/local/include /usr/tcl/include /usr/include/tcl you will need to edit the "configure" file in the interface/ subdir. Search for the string "tcl.h" and add the directory where tcl.h is located to the list of dirs to search (just above the for loop). Save configure. Make sure you are in the Soar-7.3 directory and run make-soar. This runs the configure script, searching your machine to see how to custom build Soar for your system. If the make-soar procedure fails, rerun make-soar from within a script or tee, to capture the output to a file and send the entire file and any other pertinent information to soar-requests@umich.edu. This script has been tested on Solaris, SunOS, IRIX, and Linux. It should work for you. 4. In the Soar-7.3 directory, check the start-soar.tcl file. The first line (#!/usr/tcl/bin/wish8.0) invokes the Wish shell. If your wish8.0 shell is in some other directory, change the first line to match your location for wish. Your version might be called just "wish" but make sure that it is version 8.0. Save start-soar.tcl. Make sure it is executable. Type start-soar.tcl to run Soar. This invokes Wish, defines libraries and such and invokes the TSI (Tcl-Soar Interface). A window will pop up in the upper right corner of the screen -- this is the Agent Control Panel of the TSI. In the Agent Control Panel, enter an agent name (in the text entry area) and press return or use the mouse to activate the "Create Agent" button to create a Soar agent. Another window will pop up! This is the agent window. It has pulldown menus for issuing many Soar commands and also allows you to run demos and invoke help. If you haven't been able to get this far, please send email to soar-request@umich.edu describing the results of each step above. I'll try to respond within a few hours. If you would like to create a Soar application directory, separate from the Soar-7.3 directory you just installed, you only need to copy the "start-soar.tcl" file. You will need to edit start-soar.tcl to point to the fixed location of your Soar-7.3/library directory path. You can also edit start-soar.tcl to not start the TSI, or start your own application instead. Please read start-soar.tcl carefully to understand which lines must be part of any startup script in order to run Soar.