In case anyone is interested, here are the steps I’ve followed to build CasparCG server v2.3.0 LTS for Ubuntu 20.04. The build is done inside Docker container so as not to pollute your system.
WARNING: This is work in progress, so some things may not work.
docker run -it --name casparcg nvidia/opengl:1.2-glvnd-devel-ubuntu20.04 /bin/bash
## inside container ##
apt update
apt dist-upgrade
# base
apt install --no-install-recommends git ca-certificates cmake build-essential g++ wget libglew-dev libfreeimage-dev libtbb-dev libsndfile1-dev libopenal-dev libjpeg-dev libfreetype6-dev libxcursor-dev libxinerama-dev libxi-dev libsfml-dev libvpx-dev libwebp-dev liblzma-dev libmp3lame-dev libopus-dev libtheora-dev libx264-dev libx265-dev libbz2-dev libcrypto++-dev librtmp-dev libgmp-dev libxcb-shm0-dev libass-dev libgconf2-dev libnss3 libnspr4 libxtst6 libatspi2.0-dev libatk-bridge2.0-dev libxcomposite1
# boost
apt install --no-install-recommends libboost-system1.67-dev libboost-thread1.67-dev libboost-chrono1.67-dev libboost-filesystem1.67-dev libboost-log1.67-dev libboost-locale1.67-dev libboost-regex1.67-dev libboost-date-time1.67-dev libboost-coroutine1.67-dev
# ffmpeg
apt install --no-install-recommends libavcodec-dev libavformat-dev libavdevice-dev libavutil-dev libswscale-dev libpostproc-dev libswresample-dev
# cef
cd /opt
wget https://cef-builds.spotifycdn.com/cef_binary_3.3578.1870.gc974488_linux64_minimal.tar.bz2 -O cef.tar.bz2
tar -xvjf cef.tar.bz2
mv cef_binary_* cef
mkdir -p /opt/build/cef
cd /opt/build/cef
cmake /opt/cef
make CXX_FLAGS="-Wno-attributes" -j8
cp libcef_dll_wrapper/libcef_dll_wrapper.a /opt/cef/Release/
strip /opt/cef/Release/libcef.so
# server
cd /opt
git clone https://github.com/CasparCG/server.git -b v2.3.0-lts-stable --depth 1 server
sed -i -e "s/Boost 1.66.0/Boost 1.67.0/" server/src/CMakeModules/Bootstrap_Linux.cmake
sed -i -e "s/pthread$/pthread X11/" server/src/shell/CMakeLists.txt
mkdir -p /opt/build/server
cd /opt/build/server
cmake /opt/server/src/
make -j8
exit
## outside container ##
docker cp casparcg:/opt/build/server/staging server
docker rm casparcg
If everything went well, you should have server v2.3.0 LTS built inside the server folder. You might need to install a few missing packages (eg, libsfml-graphics2.5
) on your system, if it fails to run.
NB: This version of the server uses native boost and ffmpeg packages.