i’ve been through the manual process of making DT for CR3 support a few times and I’ve passed more or less the same steps every time. Now, with a brand spanking new PC I made a list of all the steps I’ve made. This is literally the first thing done, installation is very fresh (Ubuntu 20.04).
Hope this helps you to get CR3 support, at least it should get you in the right direction.
sudo apt install gimp
sudo add-apt-repository ppa:otto-kesselgulasch/gimp
sudo apt install gimp-gmic
sudo apt-get install -y python3-jsonschema
sudo apt-get install -y exiftool
# Latest llvm is a must
sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)"
mkdir git && cd git
git clone https://github.com/darktable-org/darktable.git
git clone https://github.com/Exiv2/exiv2.git
cd exiv2/
git checkout 0.27-maintenance
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DEXIV2_ENABLE_BMFF=On
cmake --build .
make tests
sudo make install
sudo rm /lib/x86_64-linux-gnu/libexiv2.so.27
sudo ln -s /usr/local/lib/libexiv2.so.0.27.5 /lib/x86_64-linux-gnu/libexiv2.so.27
cd ../../darktable
# I am adding this in the source just for reference,
# but I have to manually fetch the branch to get it working.
# Update .gitmodules with your favourite editor:
#
# [submodule "src/external/rawspeed"]
# path = src/external/rawspeed
# url = https://github.com/cytrinox/rawspeed.git
# branch = canon_cr3
#
# Then:
git submodule init
git submodule update --init
cd src/external
rm -rf rawspeed
git clone https://github.com/cytrinox/rawspeed.git
cd rawspeed
git switch canon_cr3
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/darktable/ -DDONT_USE_INTERNAL_LUA=Off
# Check the output of the above command.
# If there are important pieces missing you need to get more stuff installed.
make
sudo make install
# Now you can start Darktable with:
$ /opt/darktable/bin/darktable