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
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
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]
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
@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.
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.
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.
@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.