From cb8c423d5ae09a67f519fc6dda2fa47b2120eec4 Mon Sep 17 00:00:00 2001 From: Cristian Cadar Date: Fri, 12 Jul 2024 10:26:21 +0100 Subject: [PATCH] Move dependencies to separate file --- build/build-llvm13.md | 27 +-------------------------- build/dependencies.md | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 26 deletions(-) create mode 100644 build/dependencies.md diff --git a/build/build-llvm13.md b/build/build-llvm13.md index 31a921ff..35262a01 100644 --- a/build/build-llvm13.md +++ b/build/build-llvm13.md @@ -17,32 +17,7 @@ You can find detailed instructions in: [Building arbitrary KLEE configurations]( There is no support for uClibc and the POSIX environment under macOS. KLEE does not work under x86-32. -1. **Install dependencies:** KLEE requires all the dependencies of LLVM (see [here](http://llvm.org/docs/GettingStarted.html#requirements)), and some more. In particular, you should install the programs and libraries listed below. `graphviz/doxygen` are optional and only needed to generate the source code documentation. - - Under Ubuntu, use: - ```bash - $ sudo apt-get install build-essential cmake curl file g++-multilib gcc-multilib git libcap-dev libgoogle-perftools-dev libncurses5-dev libsqlite3-dev libtcmalloc-minimal4 python3-pip unzip graphviz doxygen - ``` - - Under macOS, run: - ```bash - $ brew install curl git cmake python unzip gperftools sqlite3 graphviz doxygen bash - ``` - - You should also install `lit` to enable testing, `tabulate` to support additional features in `klee-stats` and `wllvm` to make it easier to compile programs to LLVM bitcode: - - ```bash - $ sudo pip3 install lit wllvm - $ sudo apt-get install python3-tabulate - ``` - - Use `--user` for `pip3` to install packages for the current user only: - - ```bash - $ pip3 install --user lit wllvm - ``` - - and make sure that e.g. `~/.local/bin` (check with `python3 -m site --user-base` on your system) is in your `PATH`. +1. [**Install dependencies**]({{site.baseurl}}/build/dependencies) 2. **Install LLVM 13:** KLEE is built on top of [LLVM](http://llvm.org); the first steps are to get a working LLVM installation. See [Getting Started with the LLVM System](http://llvm.org/docs/GettingStarted.html) for more information. diff --git a/build/dependencies.md b/build/dependencies.md new file mode 100644 index 00000000..83530b9e --- /dev/null +++ b/build/dependencies.md @@ -0,0 +1,33 @@ +--- +layout: default +title: Building KLEE +subtitle: Dependencies +slug: getting-started +--- + +KLEE requires all the dependencies of LLVM (see [here](http://llvm.org/docs/GettingStarted.html#requirements)), and some more. In particular, you should install the programs and libraries listed below. `graphviz/doxygen` are optional and only needed to generate the source code documentation. + + Under Ubuntu, use: + ```bash + $ sudo apt-get install build-essential cmake curl file g++-multilib gcc-multilib git libcap-dev libgoogle-perftools-dev libncurses5-dev libsqlite3-dev libtcmalloc-minimal4 python3-pip unzip graphviz doxygen + ``` + + Under macOS, run: + ```bash + $ brew install curl git cmake python unzip gperftools sqlite3 graphviz doxygen bash + ``` + + You should also install `lit` to enable testing, `tabulate` to support additional features in `klee-stats` and `wllvm` to make it easier to compile programs to LLVM bitcode: + + ```bash + $ sudo pip3 install lit wllvm + $ sudo apt-get install python3-tabulate + ``` + + Use `--user` for `pip3` to install packages for the current user only: + + ```bash + $ pip3 install --user lit wllvm + ``` + + and make sure that e.g. `~/.local/bin` (check with `python3 -m site --user-base` on your system) is in your `PATH`.