FROM ubuntu:20.04 ENV PACKAGES flex bison \ ccache \ clang-10\ gcc \ 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 \ python3-yaml \ python3-sphinx \ sparse \ texinfo \ 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 # https://bugs.launchpad.net/qemu/+bug/1838763 ENV QEMU_CONFIGURE_OPTS --disable-libssh # 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