Skip to content
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
Cannot retrieve contributors at this time

Ubuntu 16.04 on x86_64, i686

Build system

Cmake with gcc or clang. Here in this description we build with gcc >= 4.9 (has C++11 support).


Install packages with 'apt-get'/aptitude.

CMake flags

to enable build with Php 7 language bindings.
to enable build with Python 3 language bindings.
to build with a module for vector search (e.g. word2vec).
to build with a module for fast pattern matching based on hyperscan.

The prerequisites are listen in 5 sections, a common section (first) and for each of these flags toggled to YES another section.

Required packages (always)

boost-all >= 1.57
snappy-dev leveldb-dev libuv-dev

Required packages with -DWITH_STRUS_PATTERN=YES

ragel libtre-dev boost-all >= 1.57 hyperscan >= 5.1

Install hyperscan from sources with -DWITH_STRUS_PATTERN=YES

git clone
cd hyperscan
git checkout tags/v5.1.1
mkdir build
cd build
cmake ..
make install

Required packages with -DWITH_STRUS_VECTOR=YES

atlas-dev lapack-dev blas-dev libarmadillo-dev

Required packages with -DWITH_PYTHON=YES


Required packages with -DWITH_PHP=YES

php7.0-dev zlib1g-dev libxml2-dev

Required packages with -DWITH_STRUS_WEBSERVICE=YES

libcurl4-openssl-dev zlib1g-dev libpcre3-dev cppcms >= 1.2


bzip2 -d cppcms-1.2.1.tar.bz2
tar -xvf cppcms-1.2.1.tar
cd cppcms-1.2.1
cmake -DCMAKE_CXX_FLAGS="-Wno-deprecated -Wno-unused-local-typedefs" .
make install

Fetch sources

git clone
cd strusAll
git submodule update --init --recursive
git submodule foreach --recursive git checkout master
git submodule foreach --recursive git pull

Configure with GNU C/C++ compiler

With Lua,Php7 and Python3 bindings and strusVector and strusPattern:
cmake -DCMAKE_BUILD_TYPE=Release \

Configure with Clang C/C++ compiler

Minimal build, only Lua bindings without Vector and Pattern and
a reasonable default for library installation directory:

cmake -DCMAKE_BUILD_TYPE=Release \



Run tests

make test


make install