Prerequisite libraries:

OpenSMT2 depends on the following libraries:

  • zlib
  • gmp
  • gmpxx
  • readline
  • flex

Guideline to install the requirements:

sudo apt-get update

sudo apt-get install gcc-6

sudo apt-get install g++-6

sudo rm /usr/bin/cpp /usr/bin/gcc /usr/bin/g++

sudo ln -s /usr/bin/cpp-6 /usr/bin/cpp

sudo ln -s /usr/bin/gcc-6 /usr/bin/gcc

sudo ln -s /usr/bin/g++-6 /usr/bin/g++

sudo apt-get install libtool

sudo apt-get install bison flex

sudo apt-get install autoconf

sudo apt-get install git-all


Guideline to Install GMP:


tar jxvf gmp-6.1.2.tar.xz

cd gmp-6.1.2

./configure --enable-cxx


make check

sudo make install


Compilation (for normal usage, not theory refinement)

To compile OpenSMT2, first download it via:

$ git clone

Enter the opsntm2 folder and run the configure script:

$ cd opensmt2
$ autoreconf --force --install

If you want to enable interpolation in OpenSMT2, configure with the following parameter:

$ ./configure --enable-proof

but if you need opensmt to use theory refinement algorithm, please configure it without any parameter:

$ ./configure      


Then run make and install.

$ make
$ sudo make install




** If you need any assistance, please contact us **

antti.hyvarinen[at] Or sepideh.a65[at]