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

  1. 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
  2. mkdir ~/.oz
  3. mkdir -p ~/.dev/mozart
  4. cd ~/.dev/mozart
  5. git clone git://github.com/mozart/mozart.git
  6. mkdir build
  7. cd build
  8. ../mozart/configure --prefix=$HOME/.oz --enable-contrib-gdbm=no
  9. make && make install
  10. amend and append the below to your ~/.bashrc file
    export OZHOME=$HOME/.oz
    export PATH=$PATH:$OZHOME/bin
  11. mkdir ~/.dev/mozart-stdlib
  12. cd ~/.dev/mozart-stdlib
  13. git clone git://github.com/mozart/mozart-stdlib.git
  14. mkdir build
  15. cd build
  16. ../mozart-stdlib/configure --prefix=$HOME/.oz
  17. make && make install

Now everything is ready to install Strasheela, which will be discussed in the next post.

The Strasheela series

  1. Computational composition: the kick start
  2. Installing the Mozart Programming System
  3. Installing Strasheela
  4. Development of the Fuxian counterpoint project is now available at GitHub
  5. Struggling with Oz
  6. Counterpoint in Gregorian modes