                       Macaulay version 3.0 
     A system for computing in algebraic geometry and commutative algebra
                         May 1, 1990


Dave Bayer,   Columbia, bayer@cunixa.columbia.edu    (212)854-2643 
Mike Stillman, Cornell, mike@mssun7.msi.cornell.edu  (607)255-7240


The following describes how to obtain and install Macaulay (version
3.0) on a Sun workstation (including Sun-4 and Sparcstations).  The
same method will work on many other Unix systems as well, such as the
DECstation3100.

First create a directory named "Macaulay" or "Macaulay.v3" where 
the Macaulay files will be kept, and then change directory:
	mkdir Macaulay
	cd Macaulay

The next step is to connect to one of the Harvard machines using "ftp":
	ftp 128.103.1.107
When you are asked for your name, use "ftp".
When you are asked for your password, use your own name.

Once you have connected to this machine (called "Zariski"), do the
following commands:
	set binary
	get M3.tar M3.tar
	quit


If you want the postscript form of the Macaulay manual, type
	get macman.PS macman.PS
before typing "quit".  This file is about 1.1 MB.

At this point, you should have a (fairly large, about 1.5 MB) file
M3.tar in your current directory on your own machine.  To unpack this
file, use:
	tar xf M3.tar

After this command, you should have several subdirectories named
"src", "man", "scripts" and "bin", contained in a master directory
called "Macaulay".

The next step is to pick out the correct "makefile" for you system.
First change directory to "src":
	cd src

If you are running on a Sun-3 system:
	cp makefile.sun3 makefile
If you are running on a Sun-4 or Sparc system:
	cp makefile.sparc makefile

On other Unix machines, try either of these two makefiles.  There is
not any guarantee that one of them will produce a working version, but
the odds are relatively good.  The only difference between these two
makefiles is that the memory alignment is set at 2 bytes for Sun-3, and
4 bytes for Sparc's.

Finally, build the system with the command:
	make

You should not encounter any error messages or warnings, unless you
have a particularly sensitive compiler.  Install the resulting program
"Macaulay" whereever you wish.  Remember that you may have to set your
C-shell "path" variable to include this directory.

Each user of Macaulay should have the following (or similar) line
in their .cshrc files:

	setenv MacaulayPath .:/usr/Macaulay/scripts:/usr/Macaulay/bin

where you replace "/usr/Macaulay/scripts" and "/usr/Macaulay/bin" with
the full pathname of the directories "scripts" and "bin" above.  This
allows users to use the help file, as well as the many provided
scripts (see the manual for their descriptions).

Printing the manual:
    The manual is found in the directory "man".  If you have a
postscript printer, the easiest thing to do is to simply print the
postscript file "macman.PS" (which you must "ftp" separately, as
above, since it is fairly large).  The manual is about 170 pages long.
For more information see the README file in that directory.  Remember
please that the manual is still a draft!

Testing the implementation:
    After finishing all of the above (including the MacaulayPath environment
variable), test the system as follows:
	cp test.init Macaulay.init
	Macaulay <test.of.scripts >test.log
	rm Macaulay.init

This checks out every script in the directory "scripts".  Look over it
to see if one of the phrases "error", "command not found", or "doesn't
exist" occur.  If so there has been some problem, so give one of us a
call.  The "Macaulay.init" file sets the "echo" correctly, so that all
input and output can be viewed in the "test.log" file.

If a serious problem occurs during the test (e.g. a core dump), the
first thing to check is whether the environment variable
"MacaulayPath" is set correctly.

If you have disk space problems, after installation you may delete 
everything in the "src" and "man" directories.  You should NOT delete
anything from the "scripts" directory.

Above all, enjoy Macaulay!  We hope that you will find it useful.  We
always like to hear how it is being used, or if there are any questions,
features, bugs, etc, please contact one of us.



	
