How to Build Alice on SEAM
Be warned: building Alice yourself is possible, but the process has not been cleaned up properly yet and there are quite a number of dependencies on other tools and libraries.
If you are building on Windows, Gentoo Linux, Mandrake or MacOS X, please also read the notes at the bottom.
The last stable release (version 110.0 or current working version 110.42 or newer) is recommended. Some recent RPM versions of smlnj (and older such as smlnj-110.0.7-2) do not work correctly, though. Use the package smlnj-110.0.7-4 instead. The Debian and Ubuntu package seems to be broken as well.
The combination autoconf 2.57 + automake 1.7.6 is known to work and so is autoconf 2.59 + automake 1.7.9 + libtool 1.5.22. On many systems libltdl is required, too.
Alice needs the pkg-config tool to find out the paths of some additional libraries, for example Gtk, SQLite, or XML. It should be part of any recent distribution of Linux, for other platforms please read the notes at the bottom of this page.
The GNU Multiple Precision library.
The graphical user interface is built around the Gtk library. You will need at least version 2.2 of Gtk, and the corresponding Gnome Canvas package. For Windows, an appropriate tar resides in the seam-support module of the Alice CVS and is downloaded automatically with the setup procedure.
Setting up environment
Create a directory to build Alice in, in the following called <base>.
In <base>, retrieve module make from the Alice CVS. See the Alice download page for info regarding access to the CVS (follow the instructions there, but get module make instead of alice).
In <base>/make run
This will download the current versions from the alice, seam and seam-support CVS and builds seam-support.
After that you have to include <base>/seam-support/install/bin in your PATH variable.
In <base>/make run
This will first build (if wanted) gecode, after that seam, and then alice.
Notes for Windows users
After version 110.55, SML/NJ comes with an building option for Cygwin. So, if you dont have another version installed already, use one >= 110.55
The combination autoconf-2.57, automake-1.7.6, libtool-1.5.20, lightning-1.2 is known to work.
For building the documentation, you need to have PHP installed on your system.
You do not need to have Gtk pre-installed.
Notes for Gentoo Linux users
Unfortunately, Gentoo's autoconf/automake wrapper scripts do not behave as expected: they select the wrong versions. You can fix this by adding WANT_AUTOCONF_2_5=1 and WANT_AUTOMAKE=1.7 to your environment.
Notes for Mandrake Linux users
Mandrake 10 default versions are automake-1.4 and autoconf-2.13. Please install newer versions. The default automake will still be 1.4, because Mandrake uses the "etc/alternatives" management. In order to change the default automake, su as root, and run update-alternatives --config automake and choose the right version (1.7 for instance) at the prompt. For autoconf, like for Gentoo, do export WANT_AUTOCONF_2_5=1.
Unfortunately, the package smlnj-110.0.7-2 to be found in the contrib-packages of Mandrake 10.1 does not work with Alice. Use smlnj-110.0.7-4 instead (see the link at the beginning).
Notes for MacOS X users
Building for MacOS X is still somewhat experimental. You will need all the gtk+-2.0 and libgnomecanvas-2.0 development packages from the fink distribution, as well as an X server installed. SML/NJ is available for MacOS X, but we have experienced problems with versions newer than 110.42.
JIT compilation is currently not supported on the PowerPC architecture. To disable it, you have to
In <base>/seam, make -f Makefile.cvs autotools LIBTOOLIZE=glibtoolize.
For SEAM, give the configure option --disable-lightning.
Alice should build as described above. Please note that there may occur problems when building the Gtk binding.