MetriVis Overview | Download | User Manual | Development
Examples Overview | Generic Installation | Ubuntu

Ubuntu Installation Guide

Dependency Libraries

MetriVis depends on a couple of other libraries. Some of them are statically included in the project source, others need to be installed seperately on the system.

To see a complete list of libraries used for MetriVis please refere to the General installation instructions. For MetriVis in order to work, you will need to execute following command on your Ubuntu Linux as root:

# First we are installing cairo:
user@host: ~/$ aptitude install libcairo2-dev libcairo2

# Now the boost libraries
user@host: ~/$ aptitude install libboost-thread-dev libboost-thread1.34.1 libboost-test1.34.1 libboost-test-dev libboost-dev

# And the sqlite libraries
user@host: ~/$ aptitude install libsqlite3-dev libsqlite3-0

# And the perl modules for sql, you may use them for the converter scripts.
user@host: ~/$ aptitude install libdbd-sqlite3-perl

These commands should also work on Debian systems, where you will need to substitute "aptitude install" with "apt-get install". If you can't find a library on your system you can replace any library by a newer version of it.

Software Construction Tools

To download MetriVis you will need subversion to download the source from Sourceforge. If you have not yet installed subversion and your package manager doesn't contain such a package, you may alternatively also get it from their webpage: Subversion (SVN).
user@host: ~/$ aptitude install subversion

MetriVis uses Scons to resolve dependencies and to build the software. If not already present on your system, install it with:

user@host: ~/$ aptitude install scons

You will find the scons config file here:

./code/metrovis/backend/SConstruct

It describes the dependencies to external libraries and source files in the project. Scons uses Python syntax config file, to learn more about it refer to it's project site.

Building MetriVis

After installation of the external libraries and scons. Installation is very simple:
  1. Download MetriVis from subversion:
    user@host: ~/$  svn co https://metrivis.svn.sourceforge.net/svnroot/metrivis metrivis
    

    This will download the newest version of the code to your workstation.

  2. In the metrivis Change to the backend code directory:
    user@host: ~/$  cd metrivis/code/metrovis/backend/
    user@host: ~/metrivis/code/metrovis/backend$
    

  3. Build the project by executing scons:
    user@host: ~/metrivis/code/metrovis/backend$scons
    

    The output will most probably look something like this (just a small snippet):

    scons: Reading SConscript files ...
    Checking for C library m... yes
    Checking for C library sqlite3... yes
    Checking for C library png... yes
    Checking for C library cairo... yes
    Checking for C++ library boost_thread... yes
    Checking for C++ header file boost/test/included/unit_test_framework.hpp... yes
    scons: done reading SConscript files.
    scons: Building targets ...
    g++ -o build/BaseClass.o -c -ggdb -O0 -fno-inline -Wall -DDEBUG -DHAVE_SSTREAM
    -DLOG4CPLUS_SINGLE_THREADED -DTM_IN_SYS_TIME -DHAVE_GETTIMEOFDAY -D_REENTRANT
    -Iinclude -I. -I/usr/include -I/usr/include/cairo build/BaseClass.cc
    ...
    ...
    ...
    scons: done building targets.
    

    The MetriVis server is now built and ready to be executed.

Executing MetriVis Server

  1. In order to be able to execute the MetriVis server you will need some XY plot data. If you don't yet have such data you may use some example data that you can find here. Copy it to the directory you are currently in. You may also create your own data set from .csv (Comma Separated Values) file, following the guide you can find here.

  2. Now you may execute the MetriVis server by typing:
    user@host: ~/metrivis/code/metrovis/backend$./build/metrivis -f data.db
    

    Where "data.db" is the sqlite database you are using.

Now point your browser to the frontend/www/ch.ethz.ee.tik.MetriVis/ directory and open the MetriVis.html file.
Copyright © 2007 Patrick Boenzli, ETH Zurich Overview | Download | User Manual | Development