-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathinstall.sh
More file actions
executable file
·88 lines (79 loc) · 2.36 KB
/
install.sh
File metadata and controls
executable file
·88 lines (79 loc) · 2.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#!/bin/sh
set -e
WORKDIR=/
# docker run --name 'test' -itd ubuntu:18.04 /bin/bash
# docker exec -ti test /bin/bash
apt-get update
apt-get install -y llvm-8 clang-8 vim build-essential bash-completion git cmake python3 python3-setuptools wget tmux
### get ER
cd $WORKDIR
echo Downloading ER
git clone 'https://github.com/efeslab/ER.git'
cd ER
git checkout pldi21-artifact
git submodule update --init
### Z3
echo Installing Z3
cd $WORKDIR/ER/third-party/z3
python3 scripts/mk_make.py
cd build
make -j `nproc` install
### minisat
echo Installing minisat
apt-get install -y zlib1g-dev
cd $WORKDIR/ER/third-party/minisat
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j`nproc` install
### cryptominisat
echo Installing Cryptominisat
cd $WORKDIR/ER/third-party/cryptominisat
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j`nproc` install
### STP
echo Installing STP
apt-get install -y cmake bison flex libboost-all-dev python perl
cd $WORKDIR/ER/third-party/stp
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j`nproc` install
### klee-uclibc
echo Installing klee-uclibc
cd $WORKDIR/ER/third-party/klee-uclibc
apt-get install -y libncurses5-dev
./configure --make-llvm-lib --with-llvm-config=`which llvm-config-8`
KLEE_CFLAGS="-DKLEE_SYM_PRINTF" CC=clang-8 make -j`nproc`
### klee
echo Installing klee
cd $WORKDIR/ER
apt-get install -y build-essential curl libcap-dev git cmake libncurses5-dev python-minimal python-pip unzip libtcmalloc-minimal4 libgoogle-perftools-dev libsqlite3-dev doxygen
mkdir build
cd build
LLVMPREFIX=/usr/lib/llvm-8/bin
cmake -DCMAKE_BUILD_TYPE=Release\
-DKLEE_RUNTIME_BUILD_TYPE=Release\
-DENABLE_SOLVER_STP=ON -DENABLE_SOLVER_Z3=ON\
-DENABLE_POSIX_RUNTIME=ON\
-DENABLE_SYSTEM_TESTS=OFF -DENABLE_UNIT_TESTS=OFF\
-DENABLE_KLEE_UCLIBC=ON -DKLEE_UCLIBC_PATH=$WORKDIR/ER/third-party/klee-uclibc\
-DLLVM_CONFIG_BINARY=${LLVMPREFIX}/llvm-config -DLLVMCC=${LLVMPREFIX}/clang -DLLVMCXX=${LLVMPREFIX}/clang++\
..
make -j`nprocs` install
### wllvm
echo Installing wllvm
apt-get install -y python3-pip
pip3 install wllvm
### bugbasev2
echo Installing Dependencies for bugbasev2
#sqlite: tcl-dev
apt-get install -y tcl-dev
cd ${WORKDIR}/ER/third-party/bugbasev2
make -C sqlite-7be932d all-bc
make -C sqlite-4e8e485 all-bc
make -C sqlite-787fa71 all-bc
make -C php-74194 all-bc
make -C python-2018-1000030 all-bc