Installing the Mozart Programming System
The Mozart Programming System is the environment in which you can use Oz, the multi-paradigm (yet we're mostly interested in the constraint-programming part) language on which Strasheela is built. So, let's install it!
I have spent many hours trying to install this. First I wanted to compile from source, but I used the outdated Subversion repository, which is unaware of 64-bit environments. Then I decided to get the 32-bit binary in the tarball provided at the official website. When that failed, I went for the virtualization approach: get a 32-bit Ubuntu running (mozart
is in the repositories!) and do everything in my virtual machine. That was an easy success.
But then I discovered that the (albeit slow) development of the Mozart Programming System has moved to GitHub. And they provided instructions to build from source! Hurray! I decided to stick to my virtual machine approach, but now a machine running a clean 64-bit Debian, just to make sure that:
- this installation guide is as complete as possible, explaining all steps necessary on a freshly installed machine;
- it actually works, after the many hours of fiddling with libraries etc. I am afraid my main install has some conflicting libraries.
The notes provided at GitHub aren't complete though, in order to get it working on 64-bit Debian, a few adaptions are necessary.
Installation guide
sudo apt-get git install tk-dev tcl-dev build-essential libc6-dev g++-multilib ia32-libs lib32z1-dev lib32gmp3-dev libgdbm-dev flex bison emacs autoconf
mkdir ~/.oz
mkdir -p ~/.dev/mozart
cd ~/.dev/mozart
git clone git://github.com/mozart/mozart.git
mkdir build
cd build
../mozart/configure --prefix=$HOME/.oz --enable-contrib-gdbm=no
make && make install
- amend and append the below to your
~/.bashrc
fileexport OZHOME=$HOME/.oz export PATH=$PATH:$OZHOME/bin
mkdir ~/.dev/mozart-stdlib
cd ~/.dev/mozart-stdlib
git clone git://github.com/mozart/mozart-stdlib.git
mkdir build
cd build
../mozart-stdlib/configure --prefix=$HOME/.oz
make && make install
Now everything is ready to install Strasheela, which will be discussed in the next post.