FROM ubuntu:20.04 ENV PACKAGES flex bison \ ccache \ clang-10\ gcc \ genisoimage \ gettext \ git \ glusterfs-common \ libaio-dev \ libattr1-dev \ libbrlapi-dev \ libbz2-dev \ libcacard-dev \ libcap-ng-dev \ libcurl4-gnutls-dev \ libdrm-dev \ libepoxy-dev \ libfdt-dev \ libgbm-dev \ libgtk-3-dev \ libibverbs-dev \ libiscsi-dev \ libjemalloc-dev \ libjpeg-turbo8-dev \ liblzo2-dev \ libncurses5-dev \ libncursesw5-dev \ libnfs-dev \ libnss3-dev \ libnuma-dev \ libpixman-1-dev \ librados-dev \ librbd-dev \ librdmacm-dev \ libsasl2-dev \ libsdl2-dev \ libseccomp-dev \ libsnappy-dev \ libspice-protocol-dev \ libspice-server-dev \ libssh-dev \ libusb-1.0-0-dev \ libusbredirhost-dev \ libvdeplug-dev \ libvte-2.91-dev \ libxen-dev \ libzstd-dev \ make \ ninja-build \ python3-numpy \ python3-opencv \ python3-pil \ python3-pip \ python3-sphinx \ python3-venv \ python3-yaml \ rpm2cpio \ sparse \ tesseract-ocr \ tesseract-ocr-eng \ xfslibs-dev\ vim RUN apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get -y install $PACKAGES RUN dpkg -l $PACKAGES | sort > /packages.txt ENV FEATURES clang tsan pyyaml sdl2 # Apply patch https://reviews.llvm.org/D75820 # This is required for TSan in clang-10 to compile with QEMU. RUN sed -i 's/^const/static const/g' /usr/lib/llvm-10/lib/clang/10.0.0/include/sanitizer/tsan_interface.h