Skip to content
Go to file
Cannot retrieve contributors at this time
93 lines (73 sloc) 2.52 KB

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). Build with C++98 is possible.


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
You can’t perform that action at this time.