FROM ubuntu:20.04 MAINTAINER Ray Burgemeestre ARG DEBIAN_FRONTEND=noninteractive RUN apt-get update && \ apt-get -y install g++ git sudo wget gnupg2 && \ apt-get -y install libssl-dev build-essential && \ apt-get -y install vim gdb strace patch && \ \ echo deb http://apt.llvm.org/focal/ llvm-toolchain-focal-10 main >> /etc/apt/sources.list && \ echo deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-10 main >> /etc/apt/sources.list && \ wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add - ; \ apt update -y && \ apt-get install -y clang-10 lldb-10 lld-10 && \ apt-get install -y libc++-10-dev libc++-10-dev clang-format-10 && \ \ echo deb http://apt.llvm.org/focal/ llvm-toolchain-focal-11 main >> /etc/apt/sources.list && \ echo deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-11 main >> /etc/apt/sources.list && \ wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add - ; \ apt update -y && \ apt-get install -y clang-11 lldb-11 lld-11 && \ apt-get install -y libc++-11-dev libc++-11-dev clang-format-11 && \ \ echo deb http://apt.llvm.org/focal/ llvm-toolchain-focal-12 main >> /etc/apt/sources.list && \ echo deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-12 main >> /etc/apt/sources.list && \ wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add - ; \ apt update -y && \ apt-get install -y clang-12 lldb-12 lld-12 && \ apt-get install -y libc++-12-dev libc++-12-dev clang-format-12 && \ \ rm -rf /var/lib/apt/lists/* # Install newer CMake to avoid some warnings the "FindBoost" script throws on # more recent versions of boost that the system CMake doesn't now about. # I chose a bloody new boost, so I need to use the latest RC1 (at the time of writing) RUN wget https://github.com/Kitware/CMake/releases/download/v3.21.3/cmake-3.21.3.tar.gz && \ tar -zxf cmake-3.21.3.tar.gz && \ cd cmake-3.21.3 && \ ./bootstrap && \ make -j $(nproc) && \ make install && \ cd .. && \ rm -rf cmake-3.21.3 && \ rm -rf cmake-3.21.3.tar.gz # Fix some weird linker issue CAF build runs into. (fails to link -lc++abi) RUN cp -prv /usr/lib/llvm-10/lib/libc++abi.so.1.0 /usr/lib/llvm-10/lib/libc++abi.so RUN cp -prv /usr/lib/llvm-11/lib/libc++abi.so.1.0 /usr/lib/llvm-11/lib/libc++abi.so RUN cp -prv /usr/lib/llvm-12/lib/libc++abi.so.1.0 /usr/lib/llvm-12/lib/libc++abi.so CMD "/bin/bash"