This is the primary readme file associated with the distribution of Unix-SPIRES. You downloaded one of the archive files and then expanded with Stuffit Expander, gunzip/tar, or mounted the Disk Image (dmg). Macintosh systems assume versions of Mac OSX (>= 10.3), running Terminal.app to supply the Unix environment. Unix systems assume "big-endian" (Sun OS). Linux systems assume "little-endian" (RedHat). If you have a "little-endian" system, use Linux code. On Macintosh systems, you get a folder or Disk Image called: USPI; On Unix and Linux systems, you get a USPI directory. All these contain license information, and a USPIRES folder or directory. On all systems, move USPIRES in your "home" directory. You can create a list of files with: ls -lAFRq >ls.out Look at the resulting "ls.out" file to find all files. The next thing you MUST do is move "USPIRES/spisys" to your "home" directory because there are several scripts that assume "spisys" is at "~/spisys" and not at "~/USPIRES/spisys". The remainder of these instructions assume you've moved "spisys". In "~/spisys" there is an empath file which defines the "GG.SPI" account. You are GG.SPI, so be sure to replace the username that follows GG.SPI by your logon username. Use any text editor to change empath, which is located in the "~/spisys" directory. If you intend to access the spike.files, then from within the spisys directory, you should "mv empath .empath" to create a .empath file. Be sure the path associated with each account is correct. The leading /* means your "home directory". You may change that as needed. The Emulators were built with "make" files located in "newspi", and the Mac OSX versions were compiled with -DEMPATH=0, which means they work with a .empath file, or without such a file. With .empath, the paths associated with each account must match where .empath and the Emulators are located for the GG.SPI account. So if you move "spisys" or its contents to some other place, you'll have to adjust .empath, or completely eliminate .empath to run without it. When there is no .empath file, the Emulators assume all files are in the directory from which the Emulator was launched. On Macintosh OSX, the Emulators needed to run SPIRES have already been built. They are in "~/spisys", and are called: emb, ems, and emtw. After moving "spisys" to your home directory, there is nothing you need to do if you are running on Mac OSX. Everything is ready to use. However, on some versions of Mac OSX, the "execution" flags associated with Unix executables are NOT retained. This may be caused by Anti-Virus software which turns off execution flags when files are moved. You can turn the execution flags back on with Unix commands such as: chmod 755 emb You would do that for: emb, ems, emt, emtw, and trc programs. The "build.macintel" directory is for Intel-based Macintosh. You can "make" Emulators for that platform by copying the entire contents of "build.macintel" back into "newspi", and then use the "makeall" script. But there is a "MacIntel" directory in USPIRES that has all the Emulators, and the "wylbur" for the Intel-based Macs already built. Just execute the "install.macintel" script. If you wish to rebuild the Emulators, you will need the "gcc" compiler and runtime library supplied with Developer Tools. For any other system (unix, linux), you need to replace the Emulators. To do this, you should first copy the entire contents of the appropriate "build.<system>" into the "newspi" directory, with commands such as: cd ~/USPIRES/newspi cp -p build.unix/* . You then rebuild and replace them by executing the script called "makeall" in "~/USPIRES/newspi". "gcc" is the compiler of choice by the "make..." files. You may have to switch to "cc" if you don't have "gcc". Note that you can eliminate -DEMPATH=0 from the make files to create version of the Emulators that restrict all files to a single directory, the one containing the Emulator. Or you can change -DEMPATH=0 to use the "id" number of the owner instead of zero (0), such as: -DEMPATH=193 . This has the effect of requiring the .empath file, and it must be owned by that "id". This provides security if only the "id" user can alter the .empath file by making it group/public read-only. The "build.linunix" directory contains a hybrid Linux/Unix package designed for file systems shared between Linux and Unix platforms. After creating them, execute "mvall" to migrate them. Be sure to read "EM.Stuff/install.txt" for more information. Also, look at "EM.Stuff/install.unix.txt" for a sample script. Everything else is pre-built and ready for use. For much more information, look at "http://www.slac.stanford.edu/~guertin/SPIMAINT.HTML". It shows actual execution of SPIRES and other components (the ANALYZER and PL360 compiler). However, once the Emulators are in place, you can give spires a quick try with the following commands: cd ~/spisys ./spires ========================================================== The "MacWylbur" and "wylsrc" folders (directories) contain Unix-Wylbur code. MacWylbur is ready to use on Mac OSX. Just place it in your home directory at: ~/MacWylbur; and for more information, read the MacWylbur/Readme.txt file. If you need to build Unix-Wylbur (Unix or Linux systems), then read the "a.readme.txt" file in the "wylsrc" folder. There are different "Makefile" datasets for different systems. Those with "macos" in their names are for Mac OSX systems. Like "spisys", you MUST place "USPIRES/MacWylbur" in your "home" directory because there are several scripts that assume "MacWylbur" is at "~/MacWylbur" and not at "~/USPIRES/MacWylbur". It is possible to use Unix-Wylbur from inside of Spires. That requires the "w-version" of the "make" files when building Spires. For example, "make.emtw" makes the version of Spires that can send commands to Wylbur. On MacOSX, if you've placed the MacWylbur folder in your home directory, then "emtw" in "spisys" is ready to use. You may have to alter the "spires" exec to use "emtw" instead of just "emt". On Unix/Linux systems, you'll what to build "emtw". You should edit "emwyl.h" to have to proper /path to wylbur. For more information, in Spires, EXPLAIN WYLBUR COMMANDS ========================================================== The "spisrc" folder contains the source and compiled objects for the PL360 compiler, which is used to rebuild SPIRES. You don't have to do anything with this because the PL360 compiler is already in the spisrc/pl360 directory. However, if you've built new versions of the Emulators (such as ems), then you must replace the versions of "ems" that you find in any of the spisrc directories. "ems" also appears in several newspi subdirectories, such as pl360 and bnf. The "cpems" exec file in "spisys" is designed to propogate "ems". ========================================================== The "websrc" folder contains scripts and html for what is called the "suspires" web-server interface to spires. For much more information, open the "suspires.html" document in "websrc/Sites" using a browser. Be sure to read the "SUSPIRES Anatomy" page.