2222
2323FROM ubuntu:22.04
2424
25- # Install build dependencies
25+ # Install build dependencies.
26+ # The unzip and libgomp1 dependencies are needed to unzip and run binary Z3
27+ # distributions.
28+
2629RUN dpkg --add-architecture i386 && apt-get update && \
27- apt-get -y install ca-certificates build-essential cmake curl wget texinfo flex bison \
30+ apt-get -y install git ca-certificates build-essential cmake curl wget texinfo flex bison \
2831 python-is-python3 python3-dev python3-venv python3-distro mingw-w64 lsb-release \
2932 autoconf libtool libprotobuf-dev protobuf-compiler protobuf-c-compiler \
3033 libdwarf-dev libelf-dev libelf-dev:i386 \
@@ -34,30 +37,27 @@ RUN dpkg --add-architecture i386 && apt-get update && \
3437 libbsd-dev libpixman-1-dev \
3538 libglib2.0-dev libglib2.0-dev:i386 python3-docutils libpng-dev \
3639 gcc-multilib g++-multilib libgomp1 unzip libzstd-dev \
37- libgmock-dev libgtest-dev libsoci-dev libcapstone-dev
38-
39- # The unzip and libgomp1 dependencies are needed to unzip and run binary Z3
40- # distributions
40+ libgmock-dev libgtest-dev libsoci-dev libcapstone-dev \
41+ libcurl4-openssl-dev \
42+ libedit-dev \
43+ libpfm4-dev \
44+ llvm-14-dev \
45+ clang-format-14 \
46+ libmlir-14-dev \
47+ clang-14 \
48+ clang-15
4149
4250# Required for C++17
4351RUN DEBIAN_FRONTEND=noninteractive apt-get install -y software-properties-common
4452RUN add-apt-repository ppa:ubuntu-toolchain-r/test && apt update
4553RUN DEBIAN_FRONTEND=noninteractive apt-get install -y gcc-9 g++-9
4654
47- # Install S2E git
48- RUN apt-get -y install git
49-
50- # Build LLVM first (to avoid rebuilding it for every change)
51- RUN mkdir s2e
52- RUN mkdir s2e-build
55+ RUN mkdir s2e && mkdir s2e-build
5356COPY Makefile s2e/
54- COPY scripts/determine_clang_binary_suffix.py s2e/scripts/
55-
56- RUN cd s2e-build && \
57- make -f ../s2e/Makefile S2E_PREFIX=/opt/s2e stamps/llvm-release-make
5857
5958# Be explicit about not building Z3 from source, even though its default
60- ENV USE_Z3_BINARY=yes
59+ ARG USE_Z3_BINARY=yes
60+ ARG SYSTEM_CLANG_VERSION=15
6161
6262RUN cd s2e-build && \
6363 make -f ../s2e/Makefile S2E_PREFIX=/opt/s2e stamps/z3
@@ -71,7 +71,6 @@ RUN cd s2e-build && \
7171# Make the S2E codebase available in the container
7272COPY . s2e/
7373
74-
7574# Build and install everything else
7675RUN cd s2e-build && \
7776 make -f ../s2e/Makefile S2E_PREFIX=/opt/s2e install
0 commit comments