diff options
author | Martin Nowack <m.nowack@imperial.ac.uk> | 2020-01-23 15:25:45 +0000 |
---|---|---|
committer | Cristian Cadar <c.cadar@imperial.ac.uk> | 2020-02-13 17:39:21 +0000 |
commit | dbda156217c532a7e1a65e8c216e593a64c0b8fc (patch) | |
tree | 015e9b05723106f58c7865f1636ad7157edd41bb /scripts | |
parent | 64a2b1a93648461f11daa44911d791c28bc00885 (diff) | |
download | klee-dbda156217c532a7e1a65e8c216e593a64c0b8fc.tar.gz |
Update ubuntu build dependencies for KLEE
Build dependencies for different components were tied to a specific Ubuntu version (16.04). Although, they are the same for newer versions as well. By renaming `p-component-linux-ubuntu-16.04.inc` to `p-component-linux-ubuntu.inc`, the script can be used for newer Ubuntu versions as well. Do some minor cleaning up.
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/build/p-clang-linux-ubuntu.inc (renamed from scripts/build/p-clang-linux-ubuntu-16.04.inc) | 11 | ||||
-rw-r--r-- | scripts/build/p-gtest-linux-ubuntu.inc (renamed from scripts/build/p-gtest-linux-ubuntu-16.04.inc) | 0 | ||||
-rw-r--r-- | scripts/build/p-klee-linux-ubuntu.inc (renamed from scripts/build/p-klee-linux-ubuntu-16.04.inc) | 2 | ||||
-rw-r--r-- | scripts/build/p-libcxx-linux-ubuntu.inc | 18 | ||||
-rw-r--r-- | scripts/build/p-llvm-linux-ubuntu-18.04.inc | 49 | ||||
-rw-r--r-- | scripts/build/p-llvm-linux-ubuntu.inc (renamed from scripts/build/p-llvm-linux-ubuntu-16.04.inc) | 17 | ||||
-rw-r--r-- | scripts/build/p-metasmt-linux-ubuntu.inc (renamed from scripts/build/p-metasmt-linux-ubuntu-16.04.inc) | 4 | ||||
-rw-r--r-- | scripts/build/p-sqlite-linux-ubuntu.inc (renamed from scripts/build/p-sqlite-linux-ubuntu-16.04.inc) | 12 | ||||
-rw-r--r-- | scripts/build/p-stp-linux-ubuntu.inc (renamed from scripts/build/p-stp-linux-ubuntu-16.04.inc) | 0 | ||||
-rw-r--r-- | scripts/build/p-tcmalloc-linux-ubuntu.inc (renamed from scripts/build/p-tcmalloc-linux-ubuntu-16.04.inc) | 0 | ||||
-rw-r--r-- | scripts/build/p-uclibc-linux-ubuntu.inc (renamed from scripts/build/p-uclibc-linux-ubuntu-16.04.inc) | 0 | ||||
-rw-r--r-- | scripts/build/p-z3-linux-ubuntu.inc (renamed from scripts/build/p-z3-linux-ubuntu-16.04.inc) | 3 |
12 files changed, 48 insertions, 68 deletions
diff --git a/scripts/build/p-clang-linux-ubuntu-16.04.inc b/scripts/build/p-clang-linux-ubuntu.inc index 0fb30e52..b3159d3c 100644 --- a/scripts/build/p-clang-linux-ubuntu-16.04.inc +++ b/scripts/build/p-clang-linux-ubuntu.inc @@ -13,13 +13,20 @@ install_binary_artifact_clang() { dependencies=( ca-certificates wget + lsb-release + gnupg ) apt -y --no-install-recommends install "${dependencies[@]}" wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key| apt-key add - # Add repository - echo "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial${version} main" >> /etc/apt/sources.list + codename="$(lsb_release --codename --short)" + apt_entry="deb http://apt.llvm.org/${codename}/ llvm-toolchain-${codename}${version} main" + if [[ ! $(grep -q "${apt_entry}") ]]; then + echo "${apt_entry}" >> /etc/apt/sources.list + apt update -y + fi fi apt update -y @@ -29,7 +36,7 @@ install_binary_artifact_clang() { ) #Install essential dependencies - apt -y --no-install-recommends install "${dependencies[@]}" + apt -y --no-install-recommends install "${dependencies[@]}" || return 1 } get_docker_config_id_clang() { diff --git a/scripts/build/p-gtest-linux-ubuntu-16.04.inc b/scripts/build/p-gtest-linux-ubuntu.inc index f636d321..f636d321 100644 --- a/scripts/build/p-gtest-linux-ubuntu-16.04.inc +++ b/scripts/build/p-gtest-linux-ubuntu.inc diff --git a/scripts/build/p-klee-linux-ubuntu-16.04.inc b/scripts/build/p-klee-linux-ubuntu.inc index 9109a27f..a19e6a3b 100644 --- a/scripts/build/p-klee-linux-ubuntu-16.04.inc +++ b/scripts/build/p-klee-linux-ubuntu.inc @@ -20,6 +20,6 @@ install_build_dependencies_klee() { apt -y --no-install-recommends install "${dependencies[@]}" - pip install lit + pip3 install lit pip3 install tabulate } diff --git a/scripts/build/p-libcxx-linux-ubuntu.inc b/scripts/build/p-libcxx-linux-ubuntu.inc new file mode 100644 index 00000000..8fefd83e --- /dev/null +++ b/scripts/build/p-libcxx-linux-ubuntu.inc @@ -0,0 +1,18 @@ +install_build_dependencies_libcxx() { + apt-get update -y + + dependencies=( + build-essential + ca-certificates + git + python3 + python3-pip + cmake + curl + file # Needed for wllvm + ) + + apt -y --no-install-recommends install "${dependencies[@]}" + + pip3 install wllvm +} \ No newline at end of file diff --git a/scripts/build/p-llvm-linux-ubuntu-18.04.inc b/scripts/build/p-llvm-linux-ubuntu-18.04.inc deleted file mode 100644 index f83112db..00000000 --- a/scripts/build/p-llvm-linux-ubuntu-18.04.inc +++ /dev/null @@ -1,49 +0,0 @@ -install_build_dependencies_llvm() { - apt update -y - - dependencies=( - build-essential - - autoconf - automake - groff - gcc - g++ - python-dev - make - subversion # Check out code - zlib1g-dev - ) - - #Install essential dependencies - apt -y --no-install-recommends install "${dependencies[@]}" -} - -install_binary_artifact_llvm() { - apt update -y - - dependencies=( - "clang-${LLVM_VERSION}" - ) - - #Install essential dependencies - apt -y --no-install-recommends install "${dependencies[@]}" -} - -# Check if the binary artifact is installed -is_installed_llvm() { - local lc="" - # Check if llvm-config with the right version exists - lc=$(which "llvm-config-${LLVM_VERSION}") - - local rtti - rtti="$(${lc} --has-rtti)" - local assertion - assertion="$(${lc} --assertion-mode)" - local build_mode - build_mode="$(${lc} --build-mode)" - - # Check requested mode with mode of the found item - [[ $(to_bool "${REQUIRES_RTTI}") -eq $(to_bool "${rtti}") ]] || return 1 - [[ $(to_bool "${DISABLE_ASSERTIONS}") -ne $(to_bool "${assertion}") ]] || return 1 -} \ No newline at end of file diff --git a/scripts/build/p-llvm-linux-ubuntu-16.04.inc b/scripts/build/p-llvm-linux-ubuntu.inc index bab32d45..98fe9abe 100644 --- a/scripts/build/p-llvm-linux-ubuntu-16.04.inc +++ b/scripts/build/p-llvm-linux-ubuntu.inc @@ -3,6 +3,7 @@ install_build_dependencies_llvm() { apt update -y dependencies=( + ca-certificates build-essential autoconf automake @@ -11,7 +12,7 @@ install_build_dependencies_llvm() { g++ python-dev make - subversion # To check out code + git # To check out code zlib1g-dev cmake ) @@ -49,6 +50,8 @@ install_binary_artifact_llvm() { dependencies=( ca-certificates wget + lsb-release + gnupg ) apt -y --no-install-recommends install "${dependencies[@]}" wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key| apt-key add - @@ -56,10 +59,14 @@ install_binary_artifact_llvm() { local version="" [[ "${LLVM_VERSION_MAJOR}" -le 6 ]] && version="-${LLVM_VERSION}" [[ "${LLVM_VERSION_MAJOR}" -ge 7 ]] && version="-${LLVM_VERSION_MAJOR}" - + # Add repository - echo "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial${version} main" >> /etc/apt/sources.list - apt update -y + codename="$(lsb_release --codename --short)" + apt_entry="deb http://apt.llvm.org/${codename}/ llvm-toolchain-${codename}${version} main" + if [[ ! $(grep -q "${apt_entry}") ]]; then + echo "${apt_entry}" >> /etc/apt/sources.list + apt update -y + fi dependencies=( "llvm${version}" @@ -69,7 +76,7 @@ install_binary_artifact_llvm() { ) #Install essential dependencies - apt -y --no-install-recommends install "${dependencies[@]}" + apt -y --no-install-recommends install "${dependencies[@]}" || return 1 } # Check if the binary artifact is installed diff --git a/scripts/build/p-metasmt-linux-ubuntu-16.04.inc b/scripts/build/p-metasmt-linux-ubuntu.inc index 583f869a..1e381b78 100644 --- a/scripts/build/p-metasmt-linux-ubuntu-16.04.inc +++ b/scripts/build/p-metasmt-linux-ubuntu.inc @@ -9,7 +9,8 @@ install_build_dependencies_metasmt() { # libgmp, gperf (required by yices2) gperf libgmp-dev - + libbz2-dev + libboost-dev build-essential git wget @@ -22,6 +23,7 @@ install_build_dependencies_metasmt() { python autoconf python3 + curl ) #Install essential dependencies diff --git a/scripts/build/p-sqlite-linux-ubuntu-16.04.inc b/scripts/build/p-sqlite-linux-ubuntu.inc index ee5531a2..158ea41c 100644 --- a/scripts/build/p-sqlite-linux-ubuntu-16.04.inc +++ b/scripts/build/p-sqlite-linux-ubuntu.inc @@ -11,25 +11,21 @@ install_build_dependencies_sqlite() { apt -y --no-install-recommends install "${dependencies[@]}" } install_binary_artifact_sqlite() { + [[ "${SANITIZER_SUFFIX}x" == "x" ]] || return 1 - if [[ "${SANITIZER_SUFFIX}x" != "x" ]]; then - return 1 - fi apt update -y - dependencies=( libsqlite3-dev ) - - #Install essential dependencies apt -y --no-install-recommends install "${dependencies[@]}" } # Check if the binary artifact is installed is_installed_sqlite() { - [[ -f /usr/lib/x86_64-linux-gnu/libsqlite3.so ]] || return 1 + [[ -f /usr/lib/x86_64-linux-gnu/libsqlite3.so ]] || return 1 + return 0 } get_docker_config_id_sqlite() { - return 0 + return 0 } diff --git a/scripts/build/p-stp-linux-ubuntu-16.04.inc b/scripts/build/p-stp-linux-ubuntu.inc index f4030023..f4030023 100644 --- a/scripts/build/p-stp-linux-ubuntu-16.04.inc +++ b/scripts/build/p-stp-linux-ubuntu.inc diff --git a/scripts/build/p-tcmalloc-linux-ubuntu-16.04.inc b/scripts/build/p-tcmalloc-linux-ubuntu.inc index 26bf2da9..26bf2da9 100644 --- a/scripts/build/p-tcmalloc-linux-ubuntu-16.04.inc +++ b/scripts/build/p-tcmalloc-linux-ubuntu.inc diff --git a/scripts/build/p-uclibc-linux-ubuntu-16.04.inc b/scripts/build/p-uclibc-linux-ubuntu.inc index 36bdce58..36bdce58 100644 --- a/scripts/build/p-uclibc-linux-ubuntu-16.04.inc +++ b/scripts/build/p-uclibc-linux-ubuntu.inc diff --git a/scripts/build/p-z3-linux-ubuntu-16.04.inc b/scripts/build/p-z3-linux-ubuntu.inc index 2f5e4086..2a46ac46 100644 --- a/scripts/build/p-z3-linux-ubuntu-16.04.inc +++ b/scripts/build/p-z3-linux-ubuntu.inc @@ -4,8 +4,7 @@ install_build_dependencies_z3() { dependencies=( build-essential - - python + python git wget ca-certificates |