Skip to content

Latest commit

 

History

History
100 lines (75 loc) · 3.3 KB

CENTOS_7.6.md

File metadata and controls

100 lines (75 loc) · 3.3 KB

Install IKOS on CentOS 7.6

Here are the steps to install IKOS and its dependencies on CentOS 7.6

IKOS requires certain versions of cmake, apron, boost and llvm that are newer than the ones available on the CentOS Yum package manager. Hence the following describes the steps to bootstrap these dependencies on CentOS.

First, make sure your system is up-to-date:

$ sudo yum update

Install the following packages using yum:

$ sudo yum install which patch bzip2 xz zlib-devel libedit-devel make m4 gmp-devel mpfr-devel python python-pygments sqlite-devel tbb-devel

We will use CentOS Sofware Collections (CSL) to get a more recent version of gcc. Enable the CSL by running:

$ sudo yum install centos-release-scl

Now, you can install the following packages:

$ sudo yum install devtoolset-8-gcc devtoolset-8-gcc-c++

You need to update your PATH and LD_LIBRARY_PATH to use devtoolset-7. Use the following commands (consider adding this in your .bashrc):

$ PATH="/opt/rh/devtoolset-8/root/usr/bin:$PATH"
$ export LD_LIBRARY_PATH="/opt/rh/devtoolset-8/root/usr/lib64:/opt/rh/devtoolset-8/root/usr/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"

In the next step, we will use the bootstrap script to build and install cmake, apron, boost, llvm and IKOS. Here, we will use /path/to/ikos-install as the installation directory and /path/to/ikos-build as the build directory. Replace it with the location where you want to put IKOS and its dependencies (for instance, ~/ikos-install and ~/ikos-build).

In IKOS root directory, run:

$ cd script
$ ./bootstrap --prefix=/path/to/ikos-install --builddir=/path/to/ikos-build

You can also specify the number of CPU you want to use with --jobs=N. By default, it will use all available CPU.

Note: Try to avoid whitespaces in the installation path, as it might fail.

This script will also build, install and run the tests of IKOS for you.

After installation, the install directory will contain the following structure:

.
├── activate-full
├── activate-minimal
├── apron-0.9.10
│   ├── bin
│   ├── include
│   └── lib
├── boost-1.70.0
│   ├── include
│   └── lib
├── cmake-3.15.2
│   ├── bin
│   ├── doc
│   └── share
├── ikos-3.0
│   ├── bin
│   ├── include
│   ├── lib
│   └── share
├── llvm-9.0.0
│   ├── bin
│   ├── include
│   ├── lib
│   ├── libexec
│   └── share
└── ppl-1.2
    ├── bin
    ├── include
    ├── lib
    └── share

During its execution, the bootstrap script creates a special environment with all the required dependencies for IKOS. To enter that environment, simply run the following command (consider adding this in your .bashrc):

source /path/to/ikos-install/activate-minimal

For short, it adds the necessary directories to your PATH and your LD_LIBRARY_PATH.

For more information about the bootstrap script and how to run the tests, see ROOTLESS.md.

You are now ready to use IKOS. Go to the section How to Run IKOS in README.md