Linux/fr

Linux

Cette page détaille les instructions pour compiler RawTherapee dans les systèmes GNU/Linux. Vous trouverez aussi des instructions pour la compilation dans Windows et OS X.

En cas de doute, Joinniez nous sur IRC et demandez à un humain !

Dépendances
Pour compiler RawTherapee votre système nécessite un jeu d'outils, appelés dépendances, en voici la liste pour les deux principales branches, "master" qui utilise Gtk+ et "gtk3" qui utilise Gtk3:

Informations supplémentaires à propos de LCMS ici.

Pour compiler RawTherapee 3, obsolète, vous avez besoin de ceux-ci :

Pour installer toutes ces dépendances, vous devez ouvrir une console et y coller le code de la section appropriée. Notez que ces bribes de code incluent les dépendances Gtk3 si elles sont disponibles, donc si vous voulez compiler la branche "master" qui utilise Gtk+, bien vouloir remplacer les dépendances Gtk3 par celles de Gtk+ comme décrit dans la liste ci-dessus.

Arch
La dernière version de Arch supporte Gtk3. sudo pacman -S bzip2 exiv2 expat fftw glib2 glibmm gtk3 gtkmm3 lcms2 libcanberra libiptcdata libjpeg-turbo libpng libsigc++ libtiff zlib

CentOS 7.1
Centos 7.1 ne supporte pas de version suffisamment récente de Gyk3. Etant donné que CentOS 7.1 ne semble pas avoir le moteur du thème Clearlooks GTK+2, vous aurez soit à installer un autre moteur du thème GTK+2, ou bien après l'installation de RawTherapee d'aller dans "Préférences > Général > Thème par défaut" et de valider "Utiliser le thème du système". sudo yum install bzip2-devel cmake curl exiv2-devel expat-devel fftw-devel gcc-c++ git glibmm24-devel gtk2-devel gtkmm24-devel lcms2-devel libjpeg-turbo-devel libcanberra-devel libiptcdata-devel libpng-devel libtiff-devel sigc++20-devel zlib-devel

Fedora
Fedora 22 et 23 supportent Gtk3, pas les versions plus anciennes sudo dnf install bzip2-devel cmake exiv2-devel expat-devel fftw-devel gcc-c++ glib2-devel glibmm24-devel gtk3-devel gtkmm30-devel lcms2-devel libcanberra-devel libiptcdata-devel libjpeg-turbo-devel libpng-devel libsigc++20-devel libtiff-devel zlib-devel

Gentoo et Sabayon
Gentoo supporte Gtk3. sudo emerge -uva app-arch/bzip2 dev-cpp/gtkmm:3.0 dev-libs/expat media-gfx/exiv2 media-libs/lcms media-libs/libcanberra media-libs/libiptcdata media-libs/libjpeg-turbo media-libs/libpng media-libs/tiff net-misc/curl sci-libs/fftw sys-libs/zlib x11-libs/gtk+:3

openSUSE
openSUSE Tumbleweed supporte Gtk3, pas les versions plus anciennes. A noter openSUSE 42.1 supporte gtk+-3.16.7 mais la compilation échoue car l'exigence sigc++-2.0>=2.4 n'est pas respectée. sudo zypper in cmake fftw3-devel gcc-c++ glib2-devel glibmm2-devel gtk3-devel gtkmm3-devel libbz2-devel libcanberra-devel libexpat-devel libiptcdata-devel libjpeg-devel liblcms2-devel libpng-devel libsigc++2-devel libtiff-devel zlib-devel

Ubuntu
Ubuntu à partir de la version 15.10 (Wily Werewolf) supporte Gtk3, donc vous pouvez et devez utiliser la branche. Les versions plus anciennes d'Ubuntu soit ne supportent pas du tout, soit la  version de   qu'elles fournissent n'est pas suffisamment récent (la branche   exige au minimum la version 3.16 de Gtk3), cela signifie que dans ce cas vous devez utiliser la branche   qui utilise Gtk2.

Ubuntu 16.04 LTS et 15.10
Utiliser la branche. sudo apt-get update sudo apt-get install build-essential cmake curl git libbz2-dev libcanberra-gtk3-dev libexiv2-dev libexpat-dev libfftw3-dev libglibmm-2.4-dev libgtk-3-dev libgtkmm-3.0-dev libiptcdata0-dev libjpeg8-dev liblcms2-dev libpng12-dev libsigc++-2.0-dev libtiff5-dev zlib1g-dev

Ubuntu 15.04, 14.10, 14.04 LTS
Utiliser la branche. sudo apt-get update sudo apt-get install build-essential cmake curl git libbz2-dev libcanberra-gtk-dev libexiv2-dev libexpat-dev libfftw3-dev libglibmm-2.4-dev libgtk2.0-dev libgtkmm-2.4-dev libiptcdata0-dev libjpeg8-dev liblcms2-dev libpng12-dev libsigc++-2.0-dev libtiff5-dev zlib1g-dev

RawTherapee nécessite la version 4.9 ou supérieure de GCC. Ubuntu 14.04 LTS est fourni avec la version 4.8.2 qui est trop ancienne, pour obtenir la version 4.9, suivre ces étapes : http://askubuntu.com/questions/466651/how-do-i-use-the-latest-gcc-on-ubuntu-14-04 (en anglais)

Ubuntu 13.10, 13.04, 12.10, 12.04 LTS, 11.10
Ces versions d'Ubuntu sont très dépassées. Le code ci-dessous fonctionne habituellement mais il peut s'arrêter à tout moment. Mettez votre système d'exploitation à jour.

comme ces version d'Ubuntu ne supportent que GCC-4.8.1 ou plus ancien, la dernière version que vous pourrez compiler est commit b343b9a7 du 29-12-2015. Les versions plus récentes ne compileront pas.

sudo apt-get update sudo apt-get install build-essential cmake curl git libbz2-dev libcanberra-gtk-dev libexiv2-dev libexpat-dev libfftw3-dev libglibmm-2.4-dev libgtk2.0-dev libgtkmm-2.4-dev libiptcdata0-dev libjpeg8-dev liblcms2-dev libpng12-dev libsigc++-2.0-dev libtiff5-dev zlib1g-dev

Ubuntu 10.10 et 11.04
Ces versions d'Ubuntu sont très dépassées. Le code ci-dessous fonctionne habituellement mais il peut s'arrêter à tout moment. Mettez votre système d'exploitation à jour.

sudo apt-add-repository ppa:dasprid/rawtherapee sudo apt-get update sudo apt-get install cmake curl git libbz2-dev libcanberra-gtk-dev libexiv2-dev libexpat-dev libglibmm-2.4-dev libgtk2.0-dev libgtkmm-2.4-dev libiptcdata0-dev libjpeg62 liblcms2-dev libnm-glib2 libpng12-dev libsigc++-2.0-dev libtiff4-dev zlib1g-dev

Compilation :_la méthode manuelle
Ce chapitre décrit comment compiler RawTherapee manuellement. .

Cloner la source
Premièrement, il faut cloner le dépôt du code source de RawTherapee. Ouvrir une console et exécuter ces commandes :

git clone https://github.com/Beep6581/RawTherapee ~/repo-rt cd ~/repo-rt

Choisir une branche
Les nouvelles fonctionnalités et corrections de bugs sont faites dans leurs propres branches. Une fois testées, ces branches sont fusionnées pour former la branche "master" qui utilises GTK+ 2. Environ une fois par semaine, la branche "master" est fusionnée avec la branche "gtk3" qui utilises Gtk3.

Pour voir toutes les branches disponibles, tapez : git branch -a

Pour choisir une branche, tapez git checkout

Nous recommandons d'utiliser la branche " " si votre système supporte Gtk+-3.16 ou plus récent, ou la branche " " dans le cas contraire.

Note: compiler l'ancienne version 3 ou toute autre version précédente de RawTherapee échouera sur un système moderne, car les vieilles dépendances seront manquantes.

Compiler RawTherapee
Vous allez maintenant réaliser une compilation de RawTherapee, elle sera construite dans le dossier ~/repo-rt/build/release, et ensuite vous déplacerez ce dossier dans votre répertoire personnel et le renommerez "rt", donc assurez vous qu'il n'existe pas déjà un dossier nommé ~/rt.

Vous devez avoir connaissance de quelques paramètres de compilation, vous passerez ceux-ci à CMake en utilisant l'option -D, comme décrit ci-dessous :


 * BUILD_TYPE
 * Vous devez spécifier le  pour compiler RawTherapee. Vous pouvez donner la valeur   à " " ou " ". La compilation "debug" vous fournira une  trace d'appels bien utile si RawTherapee se plante pendant l'exécution de GDB et vous pourrez nous la soumettre afin que nous puissions résoudre le problème, mais cette compilation n'est pas optimisée pour la vitesse et sera donc plus lente. La compilation "release" ne fournira aucune information mais contient de nombreuses optimisations de la vitesse ce qui en fait un programme qui fonctionne beaucoup plus vite que la version "debug". Pour une utilisation usuelle choisissez "release". Si vous tombez sur un bug reproductible, alors refaites la compilation avec "debug" et envoyez nous la trace d'appels (ou réparez vous même et envoyez nous le patch !)


 * Pour réaliser une compilation de type "release", écrire
 * Remplacer "release" par "debug" si besoin.


 * USE_OLD_CXX_ABI
 * Lors de la compilation d'un programme, on doit utiliser les mêmes conventions que celles utilisées par les bibliothèques appelées par ledit programme, sinon, la compilation (création des liens) échouera. En général, on n'a pas besoin de s'en préoccuper, mais nous sommes actuellement à une époque de remplacement progressif de GCC4 par GCC5, chacun utilisant par défaut une convention incompatible avec l'autre, ce qui est la cause du problème. Si les bibliothèques sur votre système ont été compilées avec GC5, elles utilisent probablement un standard appelé C++11. Cela signifie que votre compilation de RawTherapee doit utiliser le même standard, ce qui est le cas par défaut. Cependant, si malgré l'utilisation de GCC5 vos bibliothèques étaient compilées avec l'ancien standard C++03, alors RawTherapee doit être paramétré pour utiliser le même, et pour cela vous devez configurer "USE_OLD_CXX_ABI" sur "ON":


 * Pour valider USE_OLD_CXX_ABI, écrire :


 * CACHE_NAME_SUFFIX
 * Les options CACHE_NAME_SUFFIX définissent le suffixe des noms du répertoire de configuration et du cache qui seront utilisés par la compilation de RawTherapee.
 * Voir l'article Où sont les fichiers ? pour une explication complète.


 * PROC_TARGET_NUMBER
 * L'option PROC_TARGET_NUMBER définit pour quel type de CPU doit se faire l’optimisation. "2" est un bon choix car il signifie "natif", donc l'optimisation sera automatiquement pour le CPU détecte.
 * Pour plus d'informations, voir le fichier "ProcessorTargets.cmake" dans le dossier cloné.
 * Pour que la compilation utilise l'optimisation "native", écrire :

Enfin, vous devez trouver combien de threads sont supportés par votre CPU. Cela rendra la compilation plus rapide mais n'aura aucun effet sur la vitesse d’exécution de RawTherapee.
 * Threads
 * Pour trouver combien de threads sont supportés par votre CPU, exécuter :
 * puis remplacer le nombre dans "-j8" ci-dessous par ce nombre.
 * puis remplacer le nombre dans "-j8" ci-dessous par ce nombre.

Maintenant, vous êtes prêt pour la compilation : cd ~/repo-rt rm -rf build; make clean; ./clean mkdir build && cd build cmake -DCMAKE_CXX_FLAGS="-std=c++11 -Wno-deprecated-declarations -Wno-unused-result" \ -DWITH_LTO="OFF" \ -DCMAKE_BUILD_TYPE="release" \ -DPROC_TARGET_NUMBER="2" \ -DBUILD_BUNDLE="ON" \ -DBINDIR="." \     -DDATADIR="." \     -DCACHE_NAME_SUFFIX="4" .. make -j8 install mv release ~/rt

Exécuter RawTherapee
Pour lancer RawTherapee : ~/rt/rawtherapee

Le dépot du code source est dans   et le programme compilé est dans

Vous pouvez effacer en toute sécurité  si vous le désirez. Le programme compilé continuera de fonctionner, mais vous aurez à refaire toutes les étapes ci-dessus pour réaliser une mise à jour. Il vaut mieux laisser le dépot intact et vous pourrez ainsi réaliser l'étape suivante dans une semaine ou un mois.

Mettre à jour RawTherapee
Chaque fois que vous désirez mettre RawTherapee à jour vers le dernier code disponible, simplement faire ce qui suit puis répéter l'étape [Linux/fr#Compiler RawTherapee | Compiler RawTherapee]] ci-dessus. cd ~/repo-rt git pull