The first step is to ungzip and untar the Envision code on your system. The main Envision co-processor code consists of 2 types of code: C and Scheme. The C code is fairly portable (we hope) and is known to compile with GCC on a Linux box, under HPUX and under AIX. The Scheme code is also portable, but it is currently embeded in the module system of Scheme48. Therefore Scheme48 is needed to run the Scheme code. There are also several Scheme48 specific functions we especially in the socket code.
cd "envision-src-directory" gunzip envision.tar.gz tar -xvf envision.tar
Once untared, to compile the C code, just go to the C source directory. If there already is a Makefile from a previous install then type "make distclean" to remove it. Once there is no Makefile, you need to create a new one for your particular system with the configure script provided. The configure script will create a new Makefile for your system. Then compile the C code using the new Makefile. This creates a new executable called icp in the source directory.
cd "envision-src-directory"/co-processor/c make distclean <-- may not be necessary if there is no Makefile present ./configure make
Now, move the executable icp to an appropriate binary directory. If you are supporting several operating systems from a single file server, you should probably create a separate binary directory each operating system. For example (if "envision-src-directory" is /group/scheme/envision):
cp icp /group/scheme/envision/bin/hp/icp
Finally, load the Envision code into the Scheme48 image. Notice that you must start scheme with larger-than-default heap and stack sizes (e.g. "-h 6000000 -s 2500"). Although you can start scheme48 from the Unix shell, we recommend using the emacs interface with appropriate init files.
You can load the Envision code on the fly. However, Envision boots much faster if you make a dumped image. To do this, first start a raw scheme48 (preferably from inside emacs). Then do something like the following:
,config ,load /group/scheme/envision/envision-package.scm ,open envision ,in icp (set! init-filename ".envision-init-hp") ,user ,dump /group/scheme/envision/bin/hp/envision.image "ENVISION (1 May 97)"
The file envision.image will then contain a scheme48 image with the envision code pre-loaded.
Lines 3-5, which reset the variable init-filename in the icp package, are unnecessary if you use the filename ".envision-init".
You will need to modify the filenames for your installation. That is, you will need to specify the location where you have put envision-package.scm and decide where you wish to install the dumped envision image. You will also have to choose the name (init-filename) of each user's init file.
The init filename (init-filename) should be a relative pathname and will be interpreted relative to each user's home directory. This was done so that the envision image could be built once for the system, but each individual user could have their own init file for customizing their icp binary. For example:
Each user's init file should contain exactly one line, which is the full pathname of the the icp binary they wish to execute. For example:
/group/scheme/envision/bin/hp/icp
Finally, check that everything in the scheme48 and directories is world readable and executable and update the envision-script file(s) in your home directory to point to the new envision image(s).
Ownership, Maintenance and Disclaimers
Last modified