Libraw. Construire ART

Dans un message sur pixls.us Alberto m’indique que ma façon de construire ART n’est plus la bonne car il faut le faire avec Libraw. Voir son message francisé

C’est donc encore plus simple que cela… Vous ne construisez pas avec libraw, mais vous vous appuyez sur le décodeur brut interne. Cela est obsolète et ne sera plus mis à jour… Essayez de reconstruire avec libraw activé et voyez si le problème disparaît.

Pour construire ART j’utilise la façon de faire indiquée par caraffife dans une de ses vidéos.
https://bitbucket.org/carafife/artherapee/downloads/
Est-ce qu’il y a une version corrigée de build-art prenant en compte ce que dit Alberto ?

Tu peux essayer en rajoutant -DENABLE_LIBRAW=ON dans la commande cmake.

J’imagine qu’il faut avoir la bibliothèque libraw accessible.

Bonjour Philippe,
Après avoir installé libraw sur ton système (il faut une version au minimum 0.21, ou plus récente), avant de lancer la compilation d’ART il suffit d’ajouter la commande cmake -DENABLE_LIBRAW="ON" \ au script build-art

Merci pour votre aide. J’ai fait le nécessaire, j’ai recompilé et je n’ai pas eu d’erreur. Normalement je ne devrais plus avoir de dérive de couleur (verte souvent) sur les vignettes.

Salut @sguyader sais-tu ou trouver (et comment installer) la version 0.21 ?
Sur Arch, je n’ai accès qu’à la 0.20.2-2 . (la dernière référencée sur libraw.org)
Merci

J’ai la version 0.20.2.1 dans LMDE, c’est celle que j’ai installé avec synaptic.

Le problème avec cette version (0.20:2…) , c’est que la compilation avec la commande cmake DENABLE_LIBRAW="ON" ne change rien.

à la différence de la version précompilée fourni par Alberto ici

image

Mais, je ne parviens pas à trouver cette version 0.21

EDIT: J’ai trouvé la version 0.21 (bêta) que j’ai compilé. J’ai recompilé Art avec le build-art modifié… et toujours pas de modif à la ligne Libraw: N/A :weary:

Je viens d’installer LibRaw 0.21 pour OpenSuse Tumbelweed :


et j’ai compilé ART avec cmake `DENABLE_LIBRAW=“ON”
Je n’ai pas LibRaw utilisé :

Je n’utilise plus la version à compiler pour le moment, j’utilise la version “stable”. J’ai eu de longs échanges avec Alberto sur pixls.us pour une couleur verte dans les vignettes, maintenant c’est la version de libraw qui pose problème. je laisse le soin aux développeurs de régler ces petits défauts de jeunesse. Merci pour les infos j’aimerais suivre l’affaire …

En compilant libraw (en me mettant sur la branche 0.21-Beta1), je n’ai aucun moyen de savoir si
c’est bien cette version qui est installée.
Visiblement pas… lors de la compilation de Art, j’ai l’info en début de compil que la version libraw 0.21 n’est pas trouvé…

Je dois manquer quelque chose dans la compil de libraw…

Voilà le résultat de la réinstallation paquet LibRaw pour OpenSuse :

Finalement, même sur OpenSuse, l’installation ne semble pas aisée non plus… !

Exact.

Cette version est une béta, je ne vois pas pourquoi l’avoir utilisée !

Si vous avez installé une version antérieure de libraw, vérifiez quand vous installez (ou compilez) la toute dernière version, que le lien symbolique libraw.so dans /lib ou /usr/lib ne pointe toujours vers l’ancienne version.

Ceux qui sont sous Arch linux peuvent installer le dernier libraw à partir d’AUR (paquet libraw-git).

Edit : en compilant la branche master, je me retrouve avec une version libraw 0.23 dans (le lien symbolique libraw.so pointe vers libraw.so.23.0.0) mais la coompilation d’ART me dit qu’il trouve la version “libraw library 0.21.0-Snapshot202110”

Je crois qu’il faut aussi vérifier que la compilation installe les librairies au même endroit que là où ART les cherche… Par exemple si ART cherche libraw dans /lib mais que le dernier libraw fraîchement compilé est installé dans /usr/lib alors ART ne le trouvera pas

la version git ne s’installe pas, et la supression de libraw avant est impossible car elle casse une dépendance… !

image

sais tu où art cherche libraw ?

Je viens de chercher : je n’ai pas de libraw.so dans /usr/lib

Je crois justement que ART (ou cmake) cherche les librairies dans /usr/lib. Si tu as libraw.so installé dans /lib, essaye d’ajouter un lien symbolique dans usr/lib. Je pense la commande serait sudo ln -s /lib/libraw.so /usr/lib/libraw.so.

Si ça permet à ART de trouver libraw, par la suite idéalement il faudrait compiler libraw avec :

autoreconf --install
./configure --prefix=/usr/lib --disable-examples
make
sudo make install