A Docker image including the latest version of SOM as well as other TRIQS applications is available here.

Compiling SOM from source


The TRIQS toolbox version 3.2.x (see TRIQS installation instructions). In the following, we will assume that it is installed in the directory path_to_triqs.

Installation steps

  1. Download the source code of the latest stable version by cloning the krivenko/som repository from GitHub:

$ git clone -b 2.1.0 som.src
  1. Create and move to a new directory where you will compile the code:

    $ mkdir && cd
  2. Ensure that your shell contains the TRIQS environment variables by sourcing the file from your TRIQS installation:

    $ source path_to_triqs/share/triqs/
  3. In the build directory call cmake, including any additional custom CMake options, see below:

    $ cmake ../som.src
  4. Compile the code, run the unit tests and install the application:

    $ make
    $ make test
    $ make install

Custom CMake options

The compilation of SOM can be configured using CMake-options:

cmake ../som.src -DOPTION1=value1 -DOPTION2=value2 ...



Specify an installation path other than path_to_triqs


Build in Debugging Mode


Enable compilation of shared libraries


Build a Debian package


Disable testing (not recommended)


Build the documentation locally


Build without Python support


Initial size of the cache to store computed LHS


Enable extended debugging output (developers only)


Run static analyzer tools (clang-tidy and cppcheck) as part of compilation process (developers only)


Compile SOM library with LLVM Address Sanitizer (developers only)


Compile SOM library with LLVM Undefined Behavior Sanitizer (developers only)