Building DCP-o-matic 2.16.x for Linux

Ubuntu 20.04Ubuntu 22.04Fedora 35Fedora 36Arch

Packaged dependencies

sudo pacman --noconfirm -Syu
sudo pacman --noconfirm -S gcc git openssh pkg-config python libxml++2.6 boost xmlsec imagemagick cmake make libsndfile gtk2 libsamplerate libzip pangomm libssh ffmpeg yasm xerces-c wxwidgets-gtk3 glu

libcxml

git clone git://git.carlh.net/git/libcxml.git
cd libcxml
./waf configure build
sudo ./waf install
cd ..

libopenjpeg version 2.1 with some patches

git clone git://git.carlh.net/git/openjpeg.git
cd openjpeg
git checkout carl-2
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_PKGCONFIG_FILES=ON -DBUILD_SHARED_LIBS=OFF
make
sudo make install
cd ..

asdcplib with some patches

git clone git://git.carlh.net/git/asdcplib.git
cd asdcplib
git checkout carl
./waf configure build
sudo ./waf install
cd ..

libdcp

git clone git://git.carlh.net/git/libdcp.git
cd libdcp
git checkout arch
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./waf configure build
sudo ./waf install
cd ..

libsub

git clone git://git.carlh.net/git/libsub.git
cd libsub
./waf configure build
sudo ./waf install
cd ..

leqm_nrt

git clone git://git.carlh.net/git/leqm-nrt.git
cd leqm-nrt
git checkout carl
./waf configure --without-libsndfile build
sudo ./waf install
cd ..

rtaudio

git clone git://git.carlh.net/git/rtaudio.git
cd rtaudio
git checkout carl
./configure --prefix=/usr/local --with-pulse --with-alsa
make -j8
sudo make install
cd ..

DCP-o-matic itself

git clone git://git.carlh.net/git/dcpomatic.git
cd dcpomatic
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./waf configure build
sudo ./waf install
cd ..