• =?UTF-8?Q?logiciel_qui_satisfait_les_d=C3=A9pendances_=C3=A0_la_com?= =

    From =?UTF-8?Q?Beno=C3=AEt_Barbier?=@21:1/5 to All on Sat Apr 19 12:30:01 2025
    Bonjour,

    Existe-t-il un logiciel qui installe les dépendances à la compilation en téléchargeant et compilant les sources si les dépendances ne sont pas disponibles en paquet debian ?

    Par exemple, j’avais installé tous les paquets de dépendance pour la compilation de digiKam et avec la dernière version, il semblerait qu’il
    y ait de nouvelles dépendances, ça ne compile plus et je n’arrive pas à satisfaire les dépendances en paquet debian.

    Il faudrait un truc qui regarde si les dépendances peuvent être
    satisfaites en paquet debian, si pas, télécharge les sources des dépendances, regarde si les dépendances des dépendances peuvent être satisfaites en paquet debian, si pas télécharge les sources des
    dépendances des dépendances et ainsi de suite…

    Finalement ça devient tellement pénible que j’utilise des appimages,
    mais ça met des plombes à charger, alors que la dernière version de
    digikam que j’avais compilée est super rapide.

    Arès il y a les anciennes versions en paquet debian, mais pour certains logiciels, il y a eu tellement d’améliorations que j’ai envie d’en profiter.

    Bon WE

    Benoit

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Basile Starynkevitch@21:1/5 to All on Sat Apr 19 14:30:01 2025
    On Sat, 2025-04-19 at 12:24 +0200, Benoît Barbier wrote:
    Bonjour,

    Existe-t-il un logiciel qui installe les dépendances à la compilation en téléchargeant et compilant les sources si les dépendances ne sont pas disponibles en paquet debian ?

    Les dépendances de pas mal de logiciels GNU (par exemple GNU emacs, GNU make, GCC, mais aussi fltk.org et fox-toolkit.org) dépendent de la manière dont ce logiciel a été configuré.

    En effet, ces logiciels ont un script configure qui doit être lancé (une seule
    fois). Utilisez le avec ./configure --help pour savoir comment.

    Dans le détail, ça peut dépendre de GNU autoconf et GNU automake

    Donc un logiciel qui installe les dépendances à la compilation totalement automatiquement ne peut pas exister.

    C'est la raison pour laquelle existent les distributions et pourqui en créer une
    demande un gros travail.

    On peut (mais c'est des Linux pas Debian) considérer les distributions "source"
    telles que https://archlinux.fr/ ou https://www.gentoo.org/

    De mémoire le calcul des dépendances est complexe voire indécidable. https://fr.wikipedia.org/wiki/Stefano_Zacchiroli a rédigé des papiers de recherche à ce sujet: https://upsilon.cc/~zack/research/publications/ (et notamment son HdR https://upsilon.cc/~zack/research/publications/hdr-thesis.pdf)

    Bon weekend pascal.

    --
    Basile STARYNKEVITCH <[email protected]>
    8 rue de la Faïencerie http://starynkevitch.net/Basile/
    92340 Bourg-la-Reine https://github.com/bstarynk
    France https://github.com/RefPerSys/RefPerSys

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?utf-8?Q?S=C3=A9bastien?= Dinot@21:1/5 to All on Tue Apr 22 00:50:01 2025
    Bonsoir,

    Benoît Barbier a écrit :
    Existe-t-il un logiciel qui installe les dépendances à la compilation
    en téléchargeant et compilant les sources si les dépendances ne sont
    pas disponibles en paquet debian ?

    Sous cette forme, la question est bien trop généraliste et je suis tenté
    de répondre « oui, il existe des tas de gestionnaires de dépendances : maven, bundle, cargo… ».

    En fait, la réponse dépend du langage considéré. Or, Digikam est développé en C++ et l'un des points faibles des langages C et C++
    a toujours été « l'absence » de gestionnaire de dépendances. J'écris « l'absence » entre guillemets parce qu'en réalité, deux gestionnaires de dépendances pour le C et le C++ ont tardivement fait leur entrée en scène :

    * vcpkg : https://vcpkg.io/
    * conan : https://conan.io/

    Le problème est qu'aucun des deux n'a sérieusement pris. Des centaines
    de projets font l'effort de fournir un paquet vcpkg ou conan pour leur bibliothèque (à cette heure, 1837 pour conan, 2590 pour vcpkg), mais
    c'est une goutte d'eau dans l'océan du C/C++.

    Outre le catalogue, vcpkg et conan se distinguent essentiellement par le
    fait que vcpkg ne propose que les paquets de sources (qui sont donc systématiquement compilées sur la machine cible), alors que conan
    propose les paquets sources et les paquets binaires (on peut donc
    télécharger un binaire prêt à l'emploi).

    Sinon, CMake supporte partiellement les fonctions que tu recherches :

    * Il peut vérifier si une dépendance est disponible sur le système hôte ;

    * Il peut télécharger les sources de dépendances et les compiler,
    y compris si elles utilisent un autre gestionnaire de compilation que
    CMake.

    Par contre, à ma connaissance, il ne gère pas l'entre deux, à savoir que
    si le paquet n'est pas installé sur le système, il ne sait pas interagir
    avec le gestionnaire de paquets natif du système (dans le cas présent,
    apt) pour lui demander si un paquet est disponible et, le cas échéant, déclencher son installation.

    Mais surtout, pour que CMake fasse cela, il faut que le script CMake de
    l'outil à compiler contienne les directives idoines, ce qui est pas
    toujours le cas.

    Ceci étant, si tu arrives à identifier les dépendances de Digikam et si conan ou vcpkg proposent des paquets pour ces bibliothèques, tu peux
    très bien écrire un petit script Shell invoquant vcpkg et/ou conan pour
    les installer si elles ne sont pas disponibles dans les référentiels de Debian.

    Sébastien

    --
    Sébastien Dinot, [email protected]
    https://www.palabritudes.net/
    Ne goutez pas au logiciel libre, vous ne pourriez plus vous en passer !

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)