Build Fesslix from source

This page describes how to build Fesslix from source under Linux.


This documentation was tested for Ubuntu 16.04 LTS.


1   Prepare the system

In order to compile the source code on your system, you have to install some packages. This step you have to do only once.


Depending on your distribution, this step might not be necessary on your system; or you may have to install different packages.


Please install the packages listed below:

Terminal (as root)

sudo aptitude install make cmake-curses-gui gcc g++ libboost-program-options-dev libboost-filesystem-dev libboost-regex-dev bzr




Ensure that your installed boost-version is not older than version 1.48.


If you intent to build FlxVi as well, please install also the packages listed in the following line:

Terminal (as root)

sudo aptitude install libncurses5-dev


1.1   ARpack

In order to use random fields within Fesslix, you have to compile it with ARpack-support (for the solution of the matrix eigenvalue problem using Laczos methods). To install ARpack on your system please install the following package:

Terminal (as root)

sudo aptitude install libarpack++2-dev


On systems later than Ubuntu 12.04 LTS, you have to install the compiler version g++-4.6 in order to compile Fesslix with ARpack-support.

1.2   GNU Scientific Library (GSL)

In order to use random fields within Fesslix, you have to compile it with GSL-support (for the solution of the full matrix eigenvalue problem). To install GSL on your system please install the following package:

Terminal (as root)

sudo aptitude install libgsl-dev


1.3   Python Interface

In order to use the Python interface within Fesslix, you have to compile it with Python-support. To achieve this, you have to install the following package:

Terminal (as root)

sudo aptitude install python-dev


1.4   Octave Interface

In order to use the Octave interface of Fesslix, you have to compile it with Octave-support. For this to work, you have to install the octave header files package:

Terminal (as root)

sudo aptitude install octave-headers


... or using Ubuntu 13.04 and later:

Terminal (as root)

sudo aptitude install liboctave-dev


2   Download source files

At this point, you have to download the source code of Fesslix. The source code of Fesslix is managed with the version control system Bazaar. To retrieve the source code, execute the following commands:

Terminal
cd
bzr branch lp:fesslix
cd fesslix

In the following it is assumed that you have downloaded the source files of Fesslix to a folder called fesslix in your home directory.

3   Configure

Change to the directory containing the source files of Fesslix - e.g.:

Terminal

cd ~/fesslix


Create a build directory and change into it:

Terminal
mkdir build
cd build


Now it's time to start the CMake curses-interface:

Terminal

ccmake ../


The first time you start ccmake you won't see much. That's why you have to press the c-key (c for configuration). By pressing the t-key you can see advanced options. Adopt all options to your needs. For a detailed documentation of important compile-options please view Compile options.

If you have finished configuring the options, press the c-key and after that the g-key (this will generate the configuration).

4   Make

In order to start compiling Fesslix, please execute the following command:

Terminal

make


Alternatively, you could use ... to speed up the compilation:

Terminal

make -j2


5   Install

The installation-path depends on the settings specified during configuration. The default installation path is /usr/local.

5.1   /usr/local

If you intend to install Fesslix to /usr/local, please execute:

Terminal (as root)

sudo make install


Make sure that the file /etc/ld.so.conf exists and contains the line /usr/local/lib. Therafter, please run:

Terminal (as root)

sudo ldconfig


5.2   local installation directory

If you intend to install Fesslix in a local directory, please execute:

Terminal

make install


If installing locally (assuming you use bash as shell and CMAKE_INSTALL_PREFIX was set to $HOME/apps/) you have to append the following text to the bash configuration file:

append to the bash configuration file
if [[ -z $LD_LIBRARY_PATH ]]; then
LD_LIBRARY_PATH=$HOME/apps/lib
else
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/apps/lib
fi
export LD_LIBRARY_PATH

6   Update

Development of Fesslix is a gradual process, and – once in a while – you might want to update your installed version to the latest version. It is actually quite straightforward to update the source code of Fesslix. First, you need to change to the directory containing the source files of Fesslix and execute the following command:

Terminal

bzr merge


Thereafter, you have to go to the build directory and execute:

Terminal

make
make install


If the changes have been more severe, you might have to reconfigure the project before you can re-compile it. Therefore, in such a case, change to the build directory and execute the following commands:

Terminal
rm -r
ccmake ../
make
make install

A description on how to perform the configuration using ccmake is given in the section Configure.

fesslix.org – Home  |  Contact  |  Impressum  |  © 2015-2016 Wolfgang Betz