1.4.4 Super Source Tarball

The quickest way to build MonetDB yourself is to download a super-source tarball and use the monetdb-install.sh script to compile it. On many Linux and Mac OS X distributions, this script will work out-of-the-box.

usage: ./monetdb-install.sh < OPTS ... >

where OPTS are:
   --prefix=path     install into location path, defaults to /ufs/mk/MonetDB
   --build=path      use path as (temporary) build directory, defaults
                     to /var/tmp/MonetDB-XXXXXXXXX
   --enable-sql      build the MonetDB/SQL server
   --enable-xquery   build the MonetDB/XQuery server
   --nightly=target  download and install a nightly snapshot of the stable
                     or current branch, target must be 'stable' or 'current'
   -j[X]             use parallel make with the optionally given limit
   --enable-debug    compile with debugging support via e.g. gdb
   --enable-optimise compile with high optimisation flags, enabling this
                     option increases compilation time considerably but
                     often yields in a faster MonetDB server
   --enable-optimize alias for --enable-optimise
   --quiet           suppress output going to stdout
   --help            this message
   --devhelp         special help for developers
   --version         show revision number and quit

The monetdb-install.sh script is a little helper, it does nothing more than executing some commands to help you get the complex process of getting a useful MonetDB instance running. The script itself is not a "distribution" at all, it is only a mere meta-file. Second, that you get confused in the jungle of branches, tags, releases, snapshots and more of that is quite understandable. However that seems to be the faith of MonetDB. Hence, the monetdb-install.sh script tries to help you again here.

Referring to the quote now, there are two options that in total select 3 out of the maze of branches, etc. To make it easier, in fact, MonetDB knows (short version) only two "branches", a "current" and a "stable" branch. Of course these branches remain in Mercurial (HG), where our development is tracked. We do some preparatory steps on the Mercurial (HG) sources every night, removing most of the build tool requirements. We call those "prepared" sources "nightly snapshots". That is where the –nightly option comes in. If you don't require bleeding edge up-to-date sources, you best take a nightly snapshot. The only thing here, is that you have to choose: do you want the "current" or "stable" branch? Roughly, the "stable" branch means the latest release + bugfixes that we applied. The "current" branch contains new features and ground-breaking improvements. If you're looking for a solid and stable playground, you best take the "stable" branch (–nightly=stable). If you are adventurous, and require new features, you best take the "current" branch.