FROM debian:9.4 # Enabling backports gives us access to clang-6 and new versions of libdrm2 package. # Mesa builds newer than 17.0.4 or so require libdrm > 2.4.75, but the # default one in stretch is 2.4.74. # Note that the hosts that use these drivers will also need the newer version of libdrm2 # or there will be an error along the lines of: # symbol lookup error: ./mesa_intel_driver/libGL.so.1: undefined symbol: drmGetDevice2 # # Hosts can install this by adding the stretch-backports debian source (see next RUN) # and the performing `sudo apt-get update && sudo apt-get install libdrm2=2.4.91-2~bpo9+1` RUN echo "deb http://ftp.debian.org/debian stretch-backports main" >> /etc/apt/sources.list RUN apt-get update && apt-get upgrade -y ENV DEBIAN_FRONTEND noninteractive RUN apt-get install -y \ autoconf \ bison \ build-essential \ clang-6.0 \ flex \ libdrm-amdgpu1=2.4.91-2~bpo9+1 \ libdrm-dev=2.4.91-2~bpo9+1 \ libdrm-intel1=2.4.91-2~bpo9+1 \ libdrm-nouveau2=2.4.91-2~bpo9+1 \ libdrm-radeon1=2.4.91-2~bpo9+1 \ libdrm2=2.4.91-2~bpo9+1 \ libomxil-bellagio-dev \ libpthread-stubs0-dev \ libtool \ libva-dev \ libx11-xcb-dev \ libxcb-dri2-0-dev \ libxcb-dri3-dev \ libxcb-glx0-dev \ libxcb-present-dev \ libxcb1-dev \ libxdamage-dev \ libxext-dev \ libxshmfence-dev \ llvm-dev \ pkg-config \ python-pip \ python2.7 \ scons \ software-properties-common \ wget \ x11proto-dri2-dev \ x11proto-dri3-dev \ x11proto-gl-dev \ x11proto-present-dev \ x11proto-xext-dev \ xserver-xorg-core \ xserver-xorg-dev RUN pip install mako ENV CC="/usr/lib/llvm-6.0/bin/clang" \ CXX="/usr/lib/llvm-6.0/bin/clang++" \ PATH=/usr/lib/llvm-6.0/bin:$PATH # Default to this version of MESA, but it can be overridden with # -e MESA_VERSION=X.Y.Z when running the docker container ENV MESA_VERSION=18.1.7 COPY ./build_mesa.sh /opt/build_mesa.sh