darktable cannot be compiled on Debian 11?

Hi,

I am trying to compile darktable master von Debian 11 but keep getting this error when trying to install the dependencies:

Die folgenden Pakete haben unerfüllte Abhängigkeiten:
 libexiv2-dev : Hängt ab von: libexiv2-27 (= 0.27.3-3+deb11u1) aber 0.27.5-3.1 soll installiert werden
E: Probleme können nicht korrigiert werden, Sie haben zurückgehaltene defekte Pakete.

Looks like libexiv2-dev is broken?
Is there any solution? Is it necessary to upgrade the system to bookworm/testing/sid?

Thanks in advance

Anna

Hello @betazoid,

I am on Debian 11 stable Bullseye and I build from git branch master, so it can be done. However it also depends what you want to do?

For git branch master the minimum requirement was recently changed to gcc version 12. Debian 11 is on gcc (Debian 10.2.1-6) 10.2.1 20210110. The discussion is here Master wont build on Ubuntu 22,04 LTS · Issue #13943 · darktable-org/darktable · GitHub.

However the gcc-12 requirement is very recent. You can build darktable from git source up to commit commit e2c8b23.

I tested debian 11 standard gcc 10.2.1 on release-4.2.0 code and it built just fine:

cd /home/magnus/camera2/test2
git clone --recurse-submodules https://github.com/darktable-org/darktable.git
cd darktable
git submodule update --init

git checkout release-4.2.0
git submodule update --recursive
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/home/magnus/camera2/test2/darktable/install ..
make -j8
make install
cd /home/magnus/camera2/test2/darktable/install/bin
./darktable

The only issue with this is that debian 11 use exiv2 0.27.3-3 without ISOBMFF support, so Canon CR3 files will not be supported.

-- Exiv2 < 0.27.4 found, no support for ISOBMFF files (CR3, AVIF, HEIF)

For bleeding edge git master I have had to:

  • Build exiv2 0.27.5 from source with -DEXIV2_ENABLE_BMFF=On
  • Built gcc-12.2 from gcc source Index of /gnu/gcc/gcc-12.2.0 and install it in my darktable sandbox on debian stable

EDIT: Debian testing is on gcc 12, so that is one way, since building and bootstrapping and testing one’s own compiler is a heavy job. Sometimes Debian backports can help, but I did not find gcc-12 there. I have not tried to install a binary version of a newer exiv2 library, with ISOBMFF support (I am on Canon), since I build from source.

1 Like

You can also just use the most recent LLVM available on Debian 11 instead of GCC.

The libexiv2-dev packaging error I have no clue about…

1 Like

I have this on my Debian 11:

apt list libexiv2-dev --installed
Listing... Done
libexiv2-dev/stable,stable-security,now 0.27.3-3+deb11u1 amd64 [installed,automatic]

Debian 11 does not provide libexiv2-dev 0.27.5 as standard.

I configure darktable build to use a local set of libraries if and when I need them, like gcc-12 and libexiv2 0.27.5, but then I have to source shell scripts before build and run time.

1 Like