Installation of OBOE on ubuntu


This page descibes step-by-step the compilation of OBOE on a linux distribution. Even if the compilation has been done on UBUNTU, it is a good starting point for any other linux distributions.

1. Developper tools

Install the necessary to compile (gcc and so on)

sudo apt-get install build-essential

If you want to activate the serialization feature:

sudo apt-get install libboost-dev

2. LAPACK installation

sudo apt-get install liblapack-dev libblas-dev libatlas-base-dev

3. LAPACK++ installation

tar zxvf lapackpp-2.5.1.tar.gz
cd lapackpp-2.5.1
sudo make install
sudo ln -s /usr/local/include/lapackpp /usr/local/include/lapackpp/include

For gcc > 4.3 (ubuntu 8.10+), if you have the following error:

vtmpl.h:75: error: 'memcpy' was not declared in this scope

You must add the following line in the include section of matrix/src/vtmpl.h

#include <cstring>

4. OBOE compilation

svn co OBOE

For gcc > 4.3 (ubuntu 8.10+), You must add the following lines in the include section of include/AccpmDefs.h and src/Utilities/AccpmDefs.h

#include <cstring>
#include <cstdlib>

OBOE needs to know where are located the BLAS, LAPACK and LAPACK++ libraries, so define some variables.

export BLAS=/usr/lib/libblas.a
export LAPACK=/usr/lib/liblapack.a
export LAPACKCPP_DIR=/usr/local/include/lapackpp
export LAPACKCPP_LIB=/usr/local/lib/
make install

If you want to enable the serialization feature, you must add the following line in the config.h file


then modify the ./configure statement

./configure --enable-serialization=yes

and ignore any warnings.

The libraries are located in the lib directory. You can create the library liboboe.a that contains all the libraries with


5. Testing you installation

Compile the examples:

make check

The examples are located in src/Benchmark directory. The README file details the problems solved by the examples. You may need to add the library path of LAPACK++ in the search path:

export LD_LIBRARY_PATH=/usr/local/lib

6. Tuning

Some major improvements in computation efficiency may be done by compiling yourself the BLAS, LAPACK and LAPACK++ libraries to match the characteristics of your processor such as SSE2 instructions, multi-core... Once you have compiled these libraries, you shall adapt the ./configure directives for OBOE compilation.

Last modified 12 years ago Last modified on Aug 3, 2009 10:53:20 AM