This file describes how to install and configure an Enterprise directory. Some short notes on how to run examples programs included with the distribution are also included. Installing Enterprise --------------------- Three different tar files are provided. Two contain binaries for the two different supported architectures. The third tar file contains architecture independent files. NOTE: Binaries for SGI machines are also available. They were not included in the distribution because Smalltalk does not run on the SGIs. If you want to run Enterprise on SGI machines please contact us at enter@cs.ualberta.ca. 1) Determine the location for the Enterprise directory. The release uses ~10 meg. for binaries and libraries. Additional storage of about 1 meg. is required for uncompiled versions of the example programs. 2) cd to the directory which will contain the enterprise directory. 3) Uncompress and untar the tar file for each architecture that you desire. eg. zcat Enterprise2.4.2-SUN4.tar.Z | tar -xf - This will create the directory enter in the current directory. 4) Uncompress and untar the tar file containing architecture independent files in the same directory. eg. zcat Enterprise2.4.2-common.tar.Z | tar -xvf - 5) Uncompress and untar the tar file containing Smalltalk sources. eg. zcat Enterprise2.4.2-smalltalk-src.tar.Z | tar -xvf - 6) Rename the directory enter if desired. 7) Edit the file .../enter/Etc/_ENT_MachineFile to contain the list of machines which Enterprise user's will run on. The format is the hostname of the machine followed by the architecture of the machine. Valid architectures are SUN4, SGI, and RS6K. One name architecture pair is listed per line. Lines beginning a "#" symbol are listed by the interfaces, but excluded from runs. eg; machine1 SUN4 machine2 SGI machine3 RS6K #machine4 SUN4 Using the PVM communication kernel ---------------------------------- The version of PVM used is V3.3.7. You can get the PVM release from netlib2.cs.utk.edu in pvm3/. See the README in the PVM distribution for details on install PVM. The user is responsible for setting the PVM environment variables PVM_ROOT and PVM_ARCH. The script file Bin/PVM/enterprise uses $PVM_ROOT/lib/$PVM_ARCH as the path for the pvm3 libraries. There are no changes to the script file needed for PVM. The directory $(HOME)/pvm3/bin/$(PVM_ARCH) is used by PVM to launch executables. It must exist if you are compiling Enterprise programs to be used with PVM. Enterprise ensures that the $DISPLAY variable from the interface display station is propagated to all remote tasks. You don't have to have to duplicate this in the $PVM_EXPORT. If you don't have/like/want gcc compilation then edit the enterprise script (enter/Bin/enterprise) and change CC=gcc to CC=cc or whatever. NOTE: Because Enterprise is based on the Sage++ compiler tool, the user's code *must* be written in ANSI C. Old style K&R syntax will be rejected by the compiler. Setting environment variables ----------------------------- There are three environment variables used by Enterprise. One is required for Enterprise to run, the other two are optional: 1- ENTERPRISE_ROOT (required) Set the ENTERPRISE_ROOT environment variable to the path of the directory where Enterprise was installed. For csh/tcsh: setenv ENTERPRISE_ROOT /custom_path/enterprise For sh/bash: ENTERPRISE_ROOT=/custom_path/enterprise export ENTERPRISE_ROOT 2- PATH (required) Add the directory $ENTERPRISE_ROOT/Bin to your path 3- ENTERPRISE_DEBUGGER (optional) Defines the sequential debugger to use when debugging individual assets within the Enterprise debugger. The default debugger is 'xterm -e gdb'. 4- ENTERPRISE_EDITOR (optional) Defines the editor to use when editing source code within the interface. If not set, the environment variable EDITOR will be used. If EDITOR is not set, 'vi' will be used. Starting the Smalltalk interface -------------------------------- You must have a ParcPlace Visualworks 2.0 license. 1) cd to enterprise 2) start visual2.0 by copying a standard image to your current directory. Then, type visual2.0 visual2.0.im. 3) filein Src/Filein/enterprise.filein 4) the image can be saved at this point for future use. 5) open a workspace 6) do a doit on "Enterprise open" An enterprise window should appear at this point. If more than one person is to share this interface concurrently, you can save space by making the image standalone. Selecting the "make standalone" menu selection in the startup menu of the enterprise window will build this standalone image. The procedure looks for the stripper.st file in visual2.0/utils/. You may have to search a bit for the visual2.0 source directory. Before stripping the image, you should close all other windows. Logging Enterprise commands --------------------------- There is a class called Logfile in Enterprise-Misc. Its purpose is to log various Enterprise interface commands to 1. the system transcript window (default), 2. not log at all, 3. log to some user-specified log file. To change look in the class initialization function for more details. Notes on running sample programs -------------------------------- AlphaBeta - a game tree search program. The program in ~enterprise/AlphaBeta/Draw must be compiled using the makefile in that directory. Two input files are supplied in ~enterprise/AlphaBeta/Data. They are in and in1. Specify the following command line arguments in the run dialog box; eg. Data/in The machine on which Draw asset is run must have permission to open a window on the current startup display device. See xhost(1) for details. Mandelbrot - display Mandelbrot set. The program in ~enterprise/Mandelbrot/fractal must be compiled using the makefile in that directory. Specify the following command line arguments in the run dialog box; eg. my_workstation The machine on which Display asset is run must have permission to open a window on the display specified on the command line arguments. See xhost(1) for details. Reporting problems ------------------ Bug reports or requests for further information can be emailed to enter@cs.ualberta.ca. Features of this release ------------------------ Supports SUN4, SGI and RS6K architectures. Smalltalk interface runs under ParcPlace Systems Inc, VisualWorks Release 2.0 Controlled reexecution of code. New ANSI C compiler based on the Sage++ compiler tools from Indiana University. Parallel debugger with breakpoint facility at both the message and source code level and support for external sequential debuggers (gdb, dbx, etc). Support for sequential execution. Future releases will include Parallel I/O, Distributed Shared Memory and Real Time Performance Monitoring. Sage++ copyright and license information ---------------------------------------- The Enterprise compiler is based on the Sage++ compiler tools developed at Indiana University. This distribution contains the binaries 'sagecc' and 'pC++2dep' to generate the parse tree from the user's code. Please read the Sage++ license included in this distribution (enter/SAGE++-LICENSE).