SourceCode
This directory is now obsolete, as tarfiles can be obtained from our github releases web page.
This directory contains occasional source releases. Tarfiles available here may eventually be deleted, but they will not be changed; they don't have to be changed, because the names of the files now incorporate the git commit number or the subversion release number, as well as the Macaulay2 version number.
- Macaulay2-1.6-77124166d123caab69ac4655d15b6bfab3e74496-src.tar.bz2 -- (derived from github release-1.6-stable-20130514), 4867357 bytes, May 15, 2013, .sig
- Macaulay2-1.5-r15955-src.tar.bz2 -- (derived from svn://svn.macaulay2.com/Macaulay2/stable/2013-04-01-1.5), 4603053 bytes, May 15, 2013, .sig
- Macaulay2-1.4-r12617-src.tar.bz2, 4003881 bytes, November 8, 2010, .sig
- Macaulay2-1.3.1-r10737.tar.bz2, 3737431 bytes, February 2, 2010, .sig
- Macaulay2-1.3-r9810-src.tar.bz2, 3537310 bytes, November 24, 2009, .sig
- Macaulay2-1.2-r8438-src.tar.bz2, 3198159 bytes, February 14, 2009, .sig
- Macaulay2-1.2-src.tar.bz2, 3193337 bytes, February 12, 2009, .sig
- Macaulay2-1.2-src-fat-fink.tar.bz2, 4075415 bytes, February 12, 2009, .sig
- Macaulay2-1.1-src.tar.gz, 3284984 bytes, May 9, 2008, .sig
However, the best way to get the source code is with a client for git, the source code control system we use. To get (or to view) the latest version of the source code, possibly with bugs, visit https://github.com/Macaulay2/M2 and press the "ZIP" or "Clone" buttons. Alternatively, run this command in a new directory:
git clone https://github.com/Macaulay2/M2
The result will be a directory named M2 containing the source code directory tree of Macaulay2, checked out from the branch called "master". Other branches are used for development of numbered releases (e.g., "release-1.6"), and there are tags that label stable versions of those branches (e.g., "release-1.6-stable-20130514").
The old way to get the source code, soon to be phased out, is with a client for subversion, the source code control system we use. To get the very latest version of the source code, possibly with bugs, run this command in a new directory:
svn co -q svn://svn.macaulay2.com/Macaulay2/trunk/M2
The result will be a directory named M2 containing the source code directory tree of Macaulay2.
Alternatively, as we work to port the latest numbered release to various architectures, we will work in one of the branches listed by this command:
svn list svn://svn.macaulay2.com/Macaulay2/release-branches
The changes made there will eventually be merged into the trunk. For example, to get the code corresponding to version 1.2 that is most current and thus most likely to compile for you, run this command:
svn co -q svn://svn.macaulay2.com/Macaulay2/release-branches/1.2
The resulting directory tree, 1.2, can be renamed to M2, for example.
To see what stable (unchanging) releases there are, run this:
svn list svn://svn.macaulay2.com/Macaulay2/stable
To check out one of those, do something like this:
svn co -q svn://svn.macaulay2.com/Macaulay2/stable/2006-11-05-0.9.95
The resulting directory tree, 2006-11-05-0.9.95, can be renamed, to M2, for example.
After getting the source code as described above, and assuming the directory is now named "M2", you may build Macaulay2 from it as follows. First do
cd M2 make
That initial step will create the "configure" script.
Then do something like
cd BUILD mkdir foo cd foo ../../configure --prefix=/usr/local --enable-download make make install
to compile and install the code. You may replace /usr/local by $HOME/local, for example, if you don't have root privileges. You may replace "foo" by a directory anywhere, provided you adjust the path to "configure" appropriately.
The command
../../configure --help
will explain the options can be passed to the configure script.
You may refer to the file
./INSTALL
for some more detailed instructions about this installation.