Obtaining a copy of Mastrave

The source code repository of Mastrave is on Savannah which is a central point for development, maintenance and distribution of free software that runs on free operating systems.

Mastrave is designed to help computational scientists and modellers.  It can run on modern GNU/Linux systems.  Since it is oriented toward supporting and advancing scientific research on non-trivial tasks, it has deliberately been designed to rely on relatively recent versions of well-established packages (which typically are routinely used by several computational scientists in non prehistoric versions...).  Should you be interested in running Mastrave on other operating systems, you could consider installing it within virtual GNU/Linux machines, or within lightweight ports of the GNU development tools such as Cygwin (on which Mastrave has been reported to work).

Browsing the sources

You can browse the CVS repository of the Mastrave project to experience a snapshot of the current development status of the Mastrave source code, or to access to the histories and changes of any file in the repository.


All dependencies of Mastrave are well-established packages, quite easy to be found already packaged (and perhaps already installed) in most GNU/Linux distributions.  You should easily find the title with which your preferred distribution provides these packages (e.g. try with aptitude search <package name> or yum search <package name>).  In very old or special distributions, or ports (such as Cygwin) a manual installation of some of them might be needed.

For all packages the oldest supported version is listed.  If not explicitly specified, any subsequent stable version is also suitable (of course, development or experimental new versions might be problematic).

Is it vital? What package? Probably already installed on your system?
Required to use GNU Octave version 3.2.x  often already packaged
Required to use GDAL version 1.6.3  tar.gz available
Required to use GNU BASH shell version 4.x  yes
Required to use GNU coreutils version 7.4  yes
Required to use GNU Sed version 4.2.x  yes
Required to use GNU Grep version 2.5.x  yes
Required to use GNU Wget version 1.12  yes
Weak prerequisite CVS version 1.12.x  often already packaged
Weak prerequisite GNU Compiler Collection version 4.4.x [1]  often already packaged
Weak prerequisite PHP version 5 (needed for development branch only)  often already packaged
Weak prerequisite GNU Prolog version 1.3.x or SWI-Prolog version 5.8.x (needed for development branch only)  tar.gz available


Installing from internet

Mastrave can directly be installed from internet.  You can download a single file (the Bash script mastrave), put it in the directory of your computer where you prefer to store the sources, and simply type:

   bash mastrave --net-install </desired/mastrave/path>  

The installation file is available at:


The net installation requires the cvs package to be already installed on your computer.  Here follows an example of installation for all users (administration privileges are required):

   # Internet installation (admin. privileges required)
   mkdir -p /opt/mastrave
   cd /opt/mastrave
   # 1. Ensure the Mastrave manager is updated
   wget --content-disposition  http://mastrave.org/net-install
   # 2. Install from internet the most updated version of Mastrave
   bash mastrave --net-install 

You may also be interested in installing Mastrave locally, without the need for administration privileges.  Here follows an example of installation for your local user only (local installation):

   # Internet installation in the home directory (local installation)
   mkdir -p "$HOME/bin"
   mkdir -p "$HOME/opt/mastrave"
   cd "$HOME/opt/mastrave"
   # 1. Ensure the Mastrave manager is updated
   wget --content-disposition  http://mastrave.org/net-install
   # 2. Install from internet the most updated version of Mastrave
   bash mastrave --net-install "$HOME/bin" 


Downloading the sources

You can obtain the Mastrave CVS repository by checking it out via anonymous CVS.  This way, you can obtain the most updated development version of Mastrave.  However you are warned: despite updates of the Mastrave project are usually conservative and tested before their public release, still the most recent snapshot might result in occasional unstable behaviors or unexpected results (in case you discover something doubtful, please help us to continuosly improve Mastrave).  On the other hand, the current snapshot is the version which is under active development and on which every future improvement and extension will be based: so this is the best place to master if you wish to influence future versions.  If you don't know how to use CVS, on Savannah there is some useful documentation about it.  However, the following couple of commands could typically be the only one you need for installing and periodically updating your local version of Mastrave to the current development version.  The software repository can be checked out (i.e. you can get for the first time on your machine the current development version of Mastrave) by using the command:

  cd </desired/mastrave/path>
  cvs -z3 -d":pserver:anonymous@$url/mastrave" co mastrave

After the first download on your machine has been done, updating from time to time the Mastrave project to the newest available development-version is straightforward and just requires invoking the the  --update  option of mastrave:

  mastrave --update

or - if you prefer - the update command of CVS:

  cd </desired/mastrave/path>
  cvs -z3 -d":pserver:anonymous@$url/mastrave" update mastrave

You should be aware that the  --update  option of mastrave may be more powerful than a simple cvs update.


Downloading an alpha release

You can also obtain one of the alpha releases of Mastrave, which on average can be quite out-of-date but are stable (including their limitations) and you could try one of them for a quick overview of the main features and general philosophy.

You can check and download the available alpha releases at:



Plain installation

This section describes how to install Mastrave alpha releases.  If you used CVS to obtain the current Mastrave development versions, the following steps are not required: you just could want to tell GNU Octave where to find Mastrave, in which case the installation path to be used is the one you chosen (in the previous example, </desired/mastrave/path>).

Mastrave releases installation under GNU/Linux follows the classic GNU Build System.  This means that in the easiest (i.e. non customized) scenario, Mastrave can be installed by typing in the shell as super-user:

  ./configure && make && su -c 'make install'

or (depending whether "su" or "sudo" command is the default for your GNU/Linux distribution)

  ./configure && make && sudo make install

within the root package directory.  As in most cases with the GNU Built System, only the "make install" command needs super-user privileges (to perform the standard multi-user installation) and even this one can be executed without super-user privileges provided that you only intend to locally install Mastrave.

If you need a local (unprivileged) installation, the correct set of commands is:

  ./configure --prefix '/home/<user name>/local'
  make && make install


Integration with GNU Octave

The easiest way of integrating Mastrave with GNU Octave is by invoking (after having installed Mastrave in one of the aforementioned ways):

 mastrave --install 

You may be interested in manually integrating Mastrave with GNU Octave (or simply something might have been wrong in the automated integration...).  Here follows the description on how to manually integrate Mastrave with GNU Octave.

To use Mastrave within GNU Octave, all you need is to tell GNU Octave where Mastrave is located.  This can be done within a session of the GNU Octave intepreter by adding the installation path of Mastrave with "addpath".

You can easily find the installation path within the following list of paths (usually it shoud be in the /usr directory):

   for i in $( locate -r 'mastrave/Ab' ); do dirname "$i"; done

If you desire a permanent integration, you can add the installation path of Mastrave in one of the startup files of GNU Octave (usually the "octaverc" file).  The following commands could help you:

   ( cat <<EOF
   addpath( '</path/to/>mastrave' );
   disp( 'Mastrave enabled' );
   ) >> </path/to/>octaverc

Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Daniele de Rigo

This page is licensed under a Creative Commons Attribution-NoDerivs 3.0 Italy License.

Valid XHTML 1.0 Transitional