Installation Guide
Installation guide for Lotus and its dependencies.
Prerequisites
LLVM 14.0.0
Z3 4.11
CMake 3.10+
C++14 compatible compiler
Boost 1.65+ (auto-downloaded if not found)
Building Lotus
git clone https://github.com/ZJU-PL/lotus
cd lotus
mkdir build && cd build
cmake ..
make -j$(nproc)
Configuration Options
Optional:
* -DLLVM_BUILD_PATH: Path to the directory containing LLVMConfig.cmake (for example,
/usr/lib/llvm-14/lib/cmake/llvmor a local LLVM build/install). Only needed if CMake cannot find an appropriate system LLVM automatically.
-DCUSTOM_BOOST_ROOT: Path to custom Boost installation-DBUILD_TESTS=ON: Enable building tests-DENABLE_SANITY_CHECKS=ON: Enable sea-dsa sanity checks-DENABLE_CLAM=ON: Build CLAM abstract interpretation tools-DBUILD_HORN_ICE=OFF: Build ICE learning tools for CHC (default: OFF)-DBUILD_DYNAA=OFF: Build dynamic alias analysis tools (default: OFF)-DBUILD_OWL=OFF: Build OWL SMT solver (default: OFF)
Z3 Installation
# Ubuntu/Debian
sudo apt-get install libz3-dev
# macOS with Homebrew
brew install z3
# Or build from source
git clone https://github.com/Z3Prover/z3.git
cd z3 && python scripts/mk_make.py
cd build && make && sudo make install
Troubleshooting
LLVM not found: Install LLVM 14.x via your package manager (or from source). If you use a non-standard installation location, set
LLVM_BUILD_PATHto the directory that containsLLVMConfig.cmakeand re-run CMake.Z3 not found: Install Z3 or set
Z3_DIRBoost issues: Use
CUSTOM_BOOST_ROOTor let system auto-downloadBuild errors: Use supported LLVM version (14.x)