problème de dépendances branche master

Bonjour à tous,

J’ai un problème cette après-midi sur Ubuntu 18.04 pour compiler la version master.

Une idée d’où vient le problème?

Scanning dependencies of target gamma
In file included from /home/lviatour/darktable/build/src/iop/introspection_lens.cc:54:0:
/home/lviatour/darktable/src/iop/lens.cc: In function ‘float get_autoscale(dt_iop_module_t*, dt_iop_lensfun_params_t*, const lfCamera*)’:
/home/lviatour/darktable/src/iop/lens.cc:2197:7: sorry, unimplemented: non-trivial designated initializers not supported
};
^
src/iop/CMakeFiles/lens.dir/build.make:67: recipe for target ‹ src/iop/CMakeFiles/lens.dir/introspection_lens.cc.o › failed
make[2]: *** [src/iop/CMakeFiles/lens.dir/introspection_lens.cc.o] Error 1
CMakeFiles/Makefile2:5127: recipe for target ‹ src/iop/CMakeFiles/lens.dir/all › failed
make[1]: *** [src/iop/CMakeFiles/lens.dir/all] Error 2
make[1]: *** Attente des tâches non terminées…
[ 72%] Building C object src/iop/CMakeFiles/gamma.dir/introspection_gamma.c.o
[ 72%] Built target colorout
Scanning dependencies of target basicadj
[ 73%] Building C object src/iop/CMakeFiles/basicadj.dir/introspection_basicadj.c.o
[ 73%] Linking C shared module libcolorcorrection.so
[ 73%] Built target colorcorrection
[ 73%] Linking C shared module libcolorreconstruct.so
[ 73%] Linking C shared module libvignette.so
[ 73%] Built target vignette
[ 73%] Built target colorreconstruct
[ 73%] Linking C shared module libgamma.so
[ 73%] Linking C shared module libcolorbalance.so
[ 73%] Linking C shared module libbasicadj.so
[ 73%] Built target gamma
[ 73%] Built target colorbalance
[ 73%] Built target basicadj
Makefile:151: recipe for target ‹ all › failed
make: *** [all] Error 2
root@lviatour-P7xxDM-G:~/darktable# ^C

$ rm -fr build

et recommencer depuis le début?

Fonctionne toujours pas:
/home/lviatour/darktable/src/iop/lens.cc: In function ‘float get_autoscale(dt_iop_module_t*, dt_iop_lensfun_params_t*, const lfCamera*)’:
/home/lviatour/darktable/src/iop/lens.cc:2197:7: sorry, unimplemented: non-trivial designated initializers not supported
};
^
src/iop/CMakeFiles/lens.dir/build.make:67: recipe for target ‹ src/iop/CMakeFiles/lens.dir/introspection_lens.cc.o › failed
make[2]: *** [src/iop/CMakeFiles/lens.dir/introspection_lens.cc.o] Error 1
CMakeFiles/Makefile2:5127: recipe for target ‹ src/iop/CMakeFiles/lens.dir/all › failed
make[1]: *** [src/iop/CMakeFiles/lens.dir/all] Error 2
make[1]: *** Attente des tâches non terminées…
Scanning dependencies of target soften
[ 73%] Building C object src/iop/CMakeFiles/soften.dir/introspection_soften.c.o
[ 73%] Linking C shared module libcolorcorrection.so
[ 73%] Linking C shared module libcolorbalance.so
[ 73%] Linking C shared module libcolorreconstruct.so
[ 73%] Linking C shared module libvignette.so
[ 73%] Linking C shared module libgamma.so
[ 73%] Built target colorcorrection
[ 73%] Built target colorbalance
[ 73%] Built target vignette
[ 73%] Built target gamma
[ 73%] Built target colorreconstruct
[ 73%] Linking C shared module libbasicadj.so
[ 73%] Built target basicadj
[ 74%] Linking C shared module libsoften.so
[ 74%] Built target soften
Makefile:151: recipe for target ‹ all › failed
make: *** [all] Error 2

Visiblement, ça semble lié à la PR concernant Lensfun, dont une partie est compilée en C++ pour ajouter la compatibilité avec Lensfun 0.3.95.

A tout hasard, cela ne nécessiterait-il pas l’ajout d’une librairie non installée ? Sauf erreur de ma part, c’est la seule partie C++ du code de darkatable. @pascal, une idée à ce sujet ?

Edit : en lisant les derniers commentaires de cette PR concernant Lensfun, il me semble préférable d’attendre un peu avant de mettre à jour la master. Une option est peut-être de revenir sur une version antérieure.

Non, il y a d’autres parties en C++. Quelle est la version de ton compilateur?

$ gcc --version $ g++ --version
[hr]
Et aussi quelle version de liblensfun-dev as-tu ?

gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

root@lviatour-P7xxDM-G:~/darktable# g++ --version
g++ (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Pour liblenfun-dev 0.3.2-4

Pour l’instant, j’utilise gcc et g++ version Red Hat 9.1.1-1 sous Fedora 30.

Un problème de construction non supportée avec GCC 7.x, c’est corrigé maintenant.

Merci cela fonctionne maintenant :wink:

Vous êtes vachement réactif, c’est un vrai plaisir.