DT: Compilation et perte affichage version.

J’avais souvenir d’avoir vu ce problème traité sur ce forum, mais impossible de remettre la main dessus. :s

Je viens de changer de portable et ai donc remis dessus mon script (qui fonctionne sans défaut sur ma station de bureau) pour compiler la version de développement sur ma Mageia8.
Le rapatriement des sources et la compilation se passent sans problème. Mais lors de l’exécution de DT, j’ai « version unknown » et je ne parviens pas à trouver où taper pour corriger ce problème. Je suis allé à tout virer dans mon répertoire de travail et dans /opt mais sans résultat.
Si quelqu’un pouvait me mettre sur la voie SVP?

Tu pourrais mettre les instructions que tu as utilisées pour compiler. Je pourrais regarder ce qu’il se passe. Tu n’as pas eu d’erreur pendant la compilation.

Merci pour ton aide.
Non, compil jusqu’au bout et exécutable opérationnel.
Juste ces messages non bloquants:
/home/thierry/darktable_master/data/kernels/common.h:19:9: warning: #pragma once in main file [-Wpragma-once-outside-header]
#pragma once
1 warning generated.

Mon script:

[code]#!/bin/bash

Nom: dt_compil.sh

Objet: Automatisation de la compilation de DarkTable

Ecriture: 27/04/2021 Création à partir de l’article "Travailler sur une

version compilée de darktable" de Nicolas Tissot.

"https://darktable.fr/2020/02/travailler-sur-une-version

-compilee-de-darktable/"

01/05/2021 Datation de la sauvegarde du répertoire de config

30/06/2021 Enlevé la suppression du répertoire de configuration et

sa restauration.

31/07/2021 Correction du script suite aux modifs ci-dessus.

-----------------------------------------------------------------------------

Définition des constantes

Le dossier de configuration qui sera utilisé par la version compilée dans le

répertoire utilisateur

DCONF=« .config/darktable_master/ »

Répertoire de travail

REPTRAV=« /home/thierry/ »

Date du jour

DATSAUV=date "+%d.%m.%Y"

clear
echo « - Lancement d’une compilation de Darktable avec la dernière évolution - »
echo « - de développement. - »
echo
cd $REPTRAV
if test -d $REPTRAV$DCONF
then
echo « Ancien répertoire de configuration de DarkTable trouvé. »
echo « Voulez-vous réaliser la sauvegarde de son contenu (O/N) ? »
read -p « Votre choix: " REPLY
case $REPLY in
« O » ) echo « Sauvegarde de » $REPTRAV$DCONF " confirmée »
echo "Archivage du contenu de ce répertoire au "$DATSAUV
cd $REPTRAV
tar zcvf save_DT_conf_$DATSAUV.tgz $DCONF
echo « fin de sauvegarde »;;

                 "N" ) echo "Compilation sans sauvegarde du répertoire de config!";;
                       
                 * ) echo "Choix non conforme, abandon de la procédure!"
                       exit 0;;
            esac

fi

echo
echo « — Récupération de la version à compiler — »
cd $REPTRAV

Effacer la précédente version

rm -rf darktable_master

Téléchargement de la version à jour

git clone https://github.com/darktable-org/darktable.git darktable_master/
echo « — Fin de téléchargement. — »

Fichiers récupérés, on se déplace dans le répertoire de la version

cd $REPTRAV/darktable_master
echo « — Préparation de la compilation — »
git submodule init
git submodule update
echo « — Lancement de la compilation — »
./build.sh --prefix /opt/darktable_master/ --build-type Release > trace.txt
echo « Compilation terminée! »
echo
echo « Si il y a eu problème, consulter le contenu du fichier trace.txt pour »
echo « identifier celui-ci et le corriger. »
echo
echo
echo « Pour installer votre programme, mettez-vous en super utilisateur root et »
echo « tapez la commande suivante: »
tail -n1 trace.txt
echo
echo
echo « Le lancement de l’application (en mode utilisateur) se fera par la »
echo « commande suivante: »
echo « /opt/darktable_master/bin/darktable --configdir /home/thierry/.config/darktable_master/ »
[/code]

Bonjour, un pointeur peut-être ? https://discuss.pixls.us/t/dt-unknown-version-solved-sort-of/30376/6

De mémoire, c’est un « truc » à configurer dans git, mais je ne souviens plus du « truc ». Désolé de ne pas pouvoir aider plus.

Bonjour,
peut être le fil : https://forums.darktable.fr/showthread.php?tid=6181&pid=52512&highlight=unknow#pid52512
et https://discuss.pixls.us/t/dt-unknown-version-solved-sort-of/30376

propose une ligne a rajouter après le build:
sudo git config --global --add safe.directory /home/user/darktable/master

cdlt

Tu pourrais essayer ces commandes dans le répertoire des sources de la master (et si tu utilises darktable comme répertoire de la master) :
git pull
supprimer build
supprimer de /opt/darktable
./build.sh --prefix /opt/darktable --build-type Release --install --sudo

Oui, @Cobert a retrouvé le « truc » qui trainait au fond de ma mémoire :

sudo git config --global --add safe.directory /home/user/darktable/master

À personnaliser, bien sûr.

Je l’ai appliqué chez moi depuis un bon moment et depuis :

:slight_smile:

Ok, merci, ça marche.
Je vais maintenant intégrer ça à mon script.

Merci à tous pour cette aide précieuse :slight_smile:

@holly76, il me semble me rappeler que cette commande est à exécuter un fois pour configurer l’instruction git et donc n’a pas besoin d’être exécutée à chaque compilation.

Ah, ok!
Bon je vais tâcher de valider cette information avec la version de demain.
Si ce n’est qu’une fois comme tu l’indiques, je mettrai l’information en commentaires dans mon script.
Merci.

Jean-Pierre Verrue pourrait confirmer si mes souvenirs sont bons !

Oui, toutafait, Il ne faut exécuter cette commande qu’une fois. Elle modifie le fichier ~/.gitconfig en ajoutant ou complétant la section [safe]

OK, merci à tous pour cette aide précieuse.
J’ai gardé cette info dans les commentaires de mon script, que je dois finaliser pour qu’il soit complètement satisfaisant.

Bonjour,
Une remarque: la commande « git clone https:… » se fait aussi normalement une fois. On copie en local le projet et les sources.
Ensuite la mise à jour des modifs au fil de l’eau se fait par « git pull ».
Cordialement.

Je vais essayer. Si tel est bien le cas, ça complexifie encore un peu mon script. :dodgy:

Pourquoi ? On parle de commandes à ne faire qu’une fois (pour toutes), donc inutile de les mettre dans ton script. Fais simple, ne mets dans ton script que ce qui est nécessaire régulièrement.

Finalement ce n’est pas si complexe, modif du script faite, ça marche. :slight_smile:

@nicoauffray
Je change de PC de temps à autre, alors avoir un script qui fait le job sans avoir à remettre les mains dans le cambouis est assez pratique pour moi.

@holly76, si tu changes de PC, il va falloir charger les librairies et l’initialisation de Git, je pense qu’il faut faire une différence entre les instructions initiales et celle à faire à chaque mise à jour.

Merci @jpg54, c’est dans mon script, juste que c’est applicable à la Mageia8, mais finalement assez simple à adapter si on doit changer de distrib. :slight_smile: