Compilation darktable master sous Ubuntu (22.04 et suivantes)

Bonjour,
je lis souvent, très souvent, le forum.
J’utilise darktable depuis la version 2.
Je me suis mis à compiler la version master depuis 2 ans, j’ai transcris sur un pdf comment je compile et ça fonctionne. Toutes les informations sur ce document sont des éléments trouvés sur le net.
J’utilise linux depuis 2012 dans le cadre de mon travail et personnellement.
Je vous partage le document :
http://e.pc.cd/bLWy6alK

En attendant vos retours , si il y a des simplifications ou des erreurs.
Et que ce document puisse aider.

Bonne journée

Merci pour le partage qui peut aussi servir avec d’autres distributions en adaptant.

Merci pour le partage. Pour moi (Ubuntu 24.02), j’ai dû faire des petits changements en mettant les commandes indiqués sur le site git accessible avec ton fichier pdf.

Merci,
peux tu être plus précis, quels changements, je ne les retrouve pas.

Bonne journée

Tu as raison, je ne comprends pas.
J’ai essayé 2 fois en faisant des copier coller de « ta » méthode et j’avais un message d’erreur alors que ça n’a pas été le cas avec le copier coller du site. Mystère !
En tout cas, merci, j’ai pu compiler dt facilement.

Bonjour, je déterre ce sujet.
Je compile tjs darktable, j’en suis à la 5.5.0+1632~g8a95492031 et tout se passe bien.
Mais je ne sais pas comment intégrer l’IA ?
j’ai trouver la version Libre DT-Lab, développée par Christian Bouhon,
https://github.com/Christian-Bouhon/libre-dt-lab

mais c’est une appimage et j’aimerai la compiler pour ma machine.
Ce n’est pas urgent, et si vous avez des pistes je suis preneur.

Merci et belle journée
Christian

Bonjour, tu dois aller dans le panneau Préférences et dans l’onglet I.A.:


Tu peut télécharger tous les modèles ou en sélectionnant une partie.
J’ai vu la branche Libre DT-Lab qui semble intéressante mais je ne compile plus car je suis sous W11 depuis un moment.

Pour activer l’IA il faut ajouter l’option --enable-ai à build.sh quand tu compiles

Bonjour,
merci pour l’info.
J’ai essayé, mais je n’ai pas réussi.
Je suis sous Ubuntu 24.04, et la version de la librairie libarchive est trop vieille, elle est 2.7.2 et il faut la 2.8.5, je vais attendre de passer à Ubuntu 26.04.

Encore merci et bonne journée

Bonjour,
Je remonte ce post au sujet de la compilation master.
Il y a quelques mois j’arrivais à compiler la branche master mais ça ne fonctionne plus. J’ai un message d’erreur. Je précise qu’entre temps, j’ai fait une nouvelle installer d’Ubuntu 26.04 sur un disque vierge.
Voici le message d’erreur que j’ai :

CMake Error at /usr/share/cmake-4.2/Modules/FindPackageHandleStandardArgs.cmake:290 (message):
Could NOT find OpenMP_C (missing: OpenMP_C_FLAGS OpenMP_C_LIB_NAMES)
(Required is at least version « 4.5 »)
Call Stack (most recent call first):
/usr/share/cmake-4.2/Modules/FindPackageHandleStandardArgs.cmake:654 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-4.2/Modules/FindOpenMP.cmake:734 (find_package_handle_standard_args)
CMakeLists.txt:90 (find_package)

J’ai installé libomp-22-dev et libomp-dev mais ça ne fonctionne pas.
Comment faire ?
merci

As-tu installé la version de développement de libomp, pas seulement la librairie ?
Je ne suis pas sous Ubuntu, donc il peut y avoir des différences, mais sur OpenSUSE Tumbleweed, j’ai ces paquets installés :

libopm-devel
libomp23-devel
libgomp1
libopenmpt0

Et ça compile très bien.

Étonnant, OpenMP ne fait pas partie des dépendances pour Ubuntu sur la page Building darktable · darktable-org/darktable Wiki · GitHub

Je ne l’ai pas d’installé sur Debian, et Darktable se compile comme un charme.

Essaie de repasser l’installation des dépendances minimales :

sudo apt-get -y install build-essential appstream-util desktop-file-utils gettext git intltool libatk1.0-dev libcairo2-dev libcolord-dev libcolord-gtk-dev libcups2-dev libcurl4-gnutls-dev libimage-exiftool-perl libfuse2 libgdk-pixbuf2.0-dev libglib2.0-dev libgraphicsmagick1-dev libgtk-3-dev libinih-dev libjpeg-dev libjson-glib-dev liblcms2-dev liblensfun-dev liblensfun-bin liblensfun-data-v1 liblensfun1 libopenjp2-7-dev libosmgpsmap-1.0-dev libpango1.0-dev libpng-dev libportmidi-dev libpugixml-dev librsvg2-dev libsaxon-java libsdl2-dev libsecret-1-dev libsqlite3-dev libtiff5-dev libwebp-dev libx11-dev libxml2-dev libxml2-utils ninja-build perl po4a python3-jsonschema xsltproc zlib1g-dev appstream

Et les dépendances optionnelles :

sudo apt-get install libavif-dev libgmic-dev libgphoto2-dev libheif-dev libimath-dev libopenexr-dev libjxl-dev x11proto-dev libxfixes-dev

Merci à vous deux.
J’ai essayé d’installer les lib proposées par Jean-Pierre. Les noms ne sont pas les mêmes sous ubuntu (-dev au lieu de -devel) et j’ai tenté la compilation. J’ai toujours le même message d’erreur.

Idem après les installations des lib proposées par Seb.
Je ne comprends pas alors que ça fonctionnait avant que je réinstalle ubuntu 26.04.1LTS.
J’espère que le problème sera solutionné quand la version 26.10 va sortir (dans quelques jours) ou si quelqu’un trouve le pourquoi du comment.

Bonjour, à ta place j’ouvrirais une issue sur github… :slightly_smiling_face:

Comment as-tu récupéré les sources ? Comment lances-tu la compilation ?

Je m’étais fait ce petit pense bête pour compiler avec IA, sous Debian Sid :

git clone --recurse-submodules --depth 1 https://github.com/darktable-org/darktable.git
cd darktable
git fetch --tags
git checkout tags/release-5.6.2
git submodule update --init

./build.sh --enable-ai --prefix /opt/darktable --build-type Release --install --sudo

ln -s /opt/darktable/share/applications/org.darktable.darktable.desktop /usr/share/applications/org.darktable.darktable.desktop

Il faut bien sûr adapter release-5.6.2 à la version à compiler.

Il me semble qu’au passage à la 5.6.2 j’ai eu une erreur, j’ai supprimé mon clone local et je suis reparti d’un nouveau git clone.

Sébastien

Peut-être en rapport ?

La solution indiquée serait peut-être à adapter pour Ubuntu ?

C’est à dire : zypper si --build-deps-only darktable-<version for the master package>

J’ai demandé à ChatGPT et j’ai suivi à la lettre ce qu’il m’ adit et ça fonctionne même s’il a fallu installé pas mal de librairies. Je n’ai fait que des copier-coller entre le terminal et les réponses de ChatGPT.

Pour infos, voici la liste des dépendances :

sudo apt update

sudo apt install
build-essential
gcc
g++
libgomp1
libgtk-3-dev
libpugixml-dev
libjpeg-dev
libxml2-dev
libxml2-utils
llvm-21-dev
libpotrace-dev
libedit-dev
libzstd-dev
libcurl4-openssl-dev
liblensfun-dev
libwebp-dev
libsqlite3-dev
libarchive-dev

J’ai également installé :

sudo apt build-dep darktable

et voici ce qui a alors été installé (ou que j’avais déjà)

Install: libcups2-dev:amd64 (2.4.16-1ubuntu1.3), debhelper:amd64 (13.31ubuntu1), libdrm-dev:amd64 (2.4.131-1, automatic), libsecret-1-dev:amd64 (0.21.7-2build1), libpciaccess-dev:amd64 (0.18.1-1ubuntu4.1, automatic), gir1.2-json-1.0:amd64 (1.10.8+ds-2, automatic), dwz:amd64 (0.16-4, automatic), libxss-dev:amd64 (1:1.2.3-1build4, automatic), libopenjp2-7-dev:amd64 (2.5.4-1ubuntu0.1), libgbm-dev:amd64 (26.0.8-1ubuntu0.3, automatic), libsoup-3.0-dev:amd64 (3.6.6-1ubuntu0.1, automatic), libportmidi-dev:amd64 (2:2.0.8-1), libreadline-dev:amd64 (8.3-4, automatic), libdecor-0-dev:amd64 (0.2.5-1, automatic), liblerc-dev:amd64 (4.0.0+ds-5ubuntu2, automatic), libtiffxx6:amd64 (4.7.0-3ubuntu5, automatic), gir1.2-colord-1.0:amd64 (1.4.8-3, automatic), libdrm-nouveau2:amd64 (2.4.131-1, automatic), libosmgpsmap-1.0-dev:amd64 (1.2.0-4build1), libudev-dev:amd64 (259.5-0ubuntu3.4, automatic), po-debconf:amd64 (1.0.22, automatic), debugedit:amd64 (1:5.3-4, automatic), libdebhelper-perl:amd64 (13.31ubuntu1, automatic), libgraphicsmagick1-dev:amd64 (1.4+really1.3.46-2), libjbig-dev:amd64 (2.1-6.1ubuntu3, automatic), libexiv2-dev:amd64 (0.28.8+dfsg-1), libcolord-gtk-dev:amd64 (0.3.1-2), liblua5.4-dev:amd64 (5.4.8-1build1), librsvg2-dev:amd64 (2.61.3+dfsg-3ubuntu0.1), libltdl-dev:amd64 (2.5.4-9, automatic), libsndio-dev:amd64 (1.10.0-0.2, automatic), libsndio7.0:amd64 (1.10.0-0.2, automatic), autopoint:amd64 (0.23.2-1, automatic), libibus-1.0-dev:amd64 (1.5.34~rc2-1, automatic), libraw-dev:amd64 (0.21.5b-1ubuntu1.1), libdeflate-dev:amd64 (1.23-2ubuntu1, automatic), libsamplerate0-dev:amd64 (0.2.2-4build2, automatic), libcolord-dev:amd64 (1.4.8-3), libtool:amd64 (2.5.4-9, automatic), libgcrypt20-dev:amd64 (1.12.0-2ubuntu1.1, automatic), libwmf-dev:amd64 (0.2.14-1, automatic), gir1.2-osmgpsmap-1.0:amd64 (1.2.0-4build1, automatic), dh-autoreconf:amd64 (21+nmu1, automatic), libdrm-radeon1:amd64 (2.4.131-1, automatic), libxt-dev:amd64 (1:1.2.1-1.3build1, automatic), gir1.2-colordgtk-1.0:amd64 (0.3.1-2, automatic), libjson-glib-dev:amd64 (1.10.8+ds-2), dh-strip-nondeterminism:amd64 (1.15.0-1build1, automatic), intltool-debian:amd64 (0.35.0+20060710.6build1, automatic), libpulse-dev:amd64 (1:17.0+dfsg1-2ubuntu4, automatic), libfile-stripnondeterminism-perl:amd64 (1.15.0-1build1, automatic), libxv-dev:amd64 (2:1.0.13-1, automatic), libxxf86vm-dev:amd64 (1:1.1.4-2, automatic), libsdl2-dev:amd64 (2.32.10+dfsg-6), libtiff-dev:amd64 (4.7.0-3ubuntu5), libgpg-error-dev:amd64 (1.58-2, automatic), libcupsimage2-dev:amd64 (2.4.16-1ubuntu1.3, automatic), libcolord-gtk-headers:amd64 (0.3.1-2, automatic), libasound2-dev:amd64 (1.2.15.3-1ubuntu1.1, automatic)

La compilation fonctionne à nouveau

En fait ce qui est décrit dans cette section concernant la compil de darktable… :thinking:

J’avais pourtant lancer la commande (avant la compilation) pour installer les librairies nécessaires mais ça n’avait pas fonctionné.
Et j’avoue que je n’ai pas vérifié une par une les librairie que j’avais avec celles qu’il fallait installé.
J’ai suivi le tuto de @cch44 tout en haut du fil qui fonctionné avant ma reinstallation mais plus maintenant.

Bonjour,
je viens de voir le fil.
J’ai eu le même problème et j’ai arrété de compiler pour l’instant, je me sert de l’appimage

et ça fonctionne bien.
Pas le temps de m’y replonger, plus tard peut être.

Bonne journée