Hi guys and girls (m/f/d),
I also try to get Darktable running with CR3 support.
I’m running Fedora 34
What have I done so far:
#Installed Exiv2 with BMFF enabled:
git clone --recurse-submodules GitHub - Exiv2/exiv2: Image metadata library and tools
cd exiv2/
mkdir build
vi CMakeLists.txt # made sure BMFF support is enabled
cd build
cmake -DCMAKE_BUILD_TYPE=Release …
cmake --build .
ctest --verbose
sudo cmake --install .
#Correct the link to the new lib
cd /lib64
ls -l exiv
sudo rm libexiv2.so.27
sudo ln -s /usr/local/lib64/libexiv2.so.27
ls -l exiv
#Installing Darktable as described on the github page along with the description of Darktable Ubuntu CR3 support
git clone --recurse-submodules --depth 1 GitHub - darktable-org/darktable: darktable is an open source photography workflow application and raw developer
cd darktable
git fetch --tags
git checkout tags/release-3.8.1
vi .gitmodules # and changed the rawspeed submodule to cytronix, branch canon_cr3
git submodule init
git submodule update --init
cd src/external
rm -rf rawspeed
git clone GitHub - cytrinox/rawspeed: fast raw decoding library
cd rawspeed
git switch canon_cr3
cd …/…/… # back to the darktable directory
./build.sh --prefix /opt/darktable-3.8.1 --build-type Release --install --sudo
it even states, that BMFF support is enabled:
[…]
– Found Exiv2: /usr/local/lib64/libexiv2.so (Required is at least version “0.24”)
– Looking for EXV_ENABLE_BMFF
– Looking for EXV_ENABLE_BMFF - found
– Exiv2 >= 0.27.4 found with ISOBMFF support (CR3, AVIF, HEIF)
[…]
[ 42%] Building C object bin/CMakeFiles/lib_darktable.dir/common/iop_group.c.o
In Datei, eingebunden von /usr/local/include/exiv2/exiv2.hpp:8,
von /home/matze/Downloads/darktable/src/common/exif.cc:46:
/usr/local/include/exiv2/basicio.hpp:698:25: Fehler: »string_view« in Namensbereich »std« bezeichnet keinen Typ
698 | static constexpr std::string_view TEMP_FILE_EXT = “.exiv2_temp”;
| ^~~~~~~~~~~
Kompilierung wegen »-Wfatal-errors« beendet.
gmake[2]: *** [bin/CMakeFiles/lib_darktable.dir/build.make:418: bin/CMakeFiles/lib_darktable.dir/common/exif.cc.o] Fehler 1
gmake[2]: *** Es wird auf noch nicht beendete Prozesse gewartet…
gmake[1]: *** [CMakeFiles/Makefile2:1749: bin/CMakeFiles/lib_darktable.dir/all] Fehler 2
gmake: *** [Makefile:156: all] Fehler 2
The last files are unfortunately in German. So I’ll try to translate them:
[ 42%] Building C object bin/CMakeFiles/lib_darktable.dir/common/iop_group.c.o
In File, imported of /usr/local/include/exiv2/exiv2.hpp:8,
of /home/matze/Downloads/darktable/src/common/exif.cc:46:
/usr/local/include/exiv2/basicio.hpp:698:25: Error: »string_view« in namespace »std« bezeichnet (that’s difficult, could be either naming|calling|refering|indicating) no Type
698 | static constexpr std::string_view TEMP_FILE_EXT = “.exiv2_temp”;
| ^~~~~~~~~~~
Compiling stopped due to »-Wfatal-errors«.
gmake[2]: *** [bin/CMakeFiles/lib_darktable.dir/build.make:418: bin/CMakeFiles/lib_darktable.dir/common/exif.cc.o] Error 1
gmake[2]: *** Waiting for processes, which are not finished yet
gmake[1]: *** [CMakeFiles/Makefile2:1749: bin/CMakeFiles/lib_darktable.dir/all] Error 2
gmake: *** [Makefile:156: all] Error 2
So googling with German error messages is bullshit.
So that’s why I’m asking you. What’s wrong? I’ve been using exiv2 1.0.0.9 with libexiv2.so.0.27.5
Thanks and best regards
Matthias