Downloading Narval

Using monotone

For the production version

mtn --db=./base_narval.db db init
mtn --db=./base_narval.db -k "" pull
mtn --db=./base_narval.db co -b

For the development version

mtn --db=./base_narval.db db init
mtn --db=./base_narval.db -k "" pull
mtn --db=./base_narval.db co -b

Using subversion

You can found the narval source repository in the web at
  • Subversion repository : narval
  • User : narval
  • Passwd : narval

Or get the source repository from the command prompt by typing the following command with the same login and pwd:

svn co

Environment variables

The following varaiables should be defined in your environment :
  • NARVAL_CONFIG - Defines the directory used to store topology files
  • NARVAL_SCRIPTS - Defines the directory used to store script files related to the topology files
  • NARVAL_LIBS - Defines the directory used to store shared libraries used by generic actors
  • POLYORB_CONF - Defines the configuration file for polyorb environment
  • AWS_PORT - Defines the listening port of Narval web servers (default is 6080)

Building Narval

You need a gnat pro compiler (with polyorb, asis, aws, liblog4ada, xml_ez_out) or the Debian GNU/Linux Squeeze equivalent


If you used monotone to download the sources, in order to generate configure file :


then pursue with a the standard procedure :

NARVALTOPDIR=`pwd` ./configure --prefix=$HOME/install_directory
make && make install

NB: If you use gnat pro 7.1.0w you must pass the --with-static option to configure

Then modify your .bashrc or .cshrc file accordingly to the final message you get from make install command. For the .bashrc file, check that
the narval-config line is before the following line :

[ -z "$PS1" ] && return

Download Narval Actors

If you are using the Gnat-pro ADA compiler you need to set the ADA_PROJECT_PATH to /home/gnat_pro-x.x.x/include, before the actors compilation.

export ADA_PROJECT_PATH=/opt/gnat_pro-6.5.0w/include

Then, you can use the same base_narval.db you already initialised to download Narval
For C/C++ shared libraries :

mtn --db=./base_narval.db -k "" pull narval.actors.generics
mtn --db=./base_narval.db co -b narval.actors.generics narval.actors.generics
cd narval.actors.generics
make actors && make install

For Ada shared libraries :

mtn --db=./base_narval.db -k "" pull narval.actors.generics.ada
mtn --db=./base_narval.db co -b narval.actors.generics.ada narval.actors.generics.ada
cd narval.actors.generics.ada
make && make install