Gérer le retour ldd PROGRAMME

Bonjour,
J’essaye de packager un programme.
Pour la gestion des dépendances, j’utilise la commande

ldd MonProgramme

Qui me retourne une bonne cinquantaine de lignes avec les librairies nécessaires
Y a t il un moyen rapide pour savoir de quels paquets elles dépendent ?
Ou faut il se faire “à la main” un aptitude search LaLibrairie ?

D’avance merci !!

Bonjour,

Quel genre de programme ? Depuis les sources ?

Cela suppose que MonProgramme est écrit dans un langage compilé (comme C ou C++) et qu’il est déjà compilé.
Pour compiler (et “linker”) ce genre de programme il faut au préalable avoir installé les paquets de développement des dépendances. Ces paquets nommés en général libNom-dev contiennent les fichiers d’en-tête (include) ainsi qu’une version statique de la bibliothèque dépendante.

Où avez-vous trouvé le programme ?

Remarque:
A mon humble avis, chercher les dépendances en utilisant ldd ce n’est pas prendre les choses par le bon bout. Si, par exemple vous regarder comment est empaqueté un logiciel aussi complexe que paraview vous serez étonné de la différence entre la sortie de

fp2x@drhpcmss:~$ ldd  /usr/bin/paraview
	linux-vdso.so.1 (0x00007fff053dd000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007effaa0b1000)
	/lib64/ld-linux-x86-64.so.2 (0x00007effaa664000)
fp2x@drhpcmss:~$ 

autrement dit rien d’intéressant et

fp2x@drhpcmss:~$ apt-cache depends paraview | wc
     47      91    1049

Plus de 40 dépendances.

Le paquet paraview dépend indirectement de python-vtk6 et un ldd sur un des binaires de ce paquet (/usr/bin/pvtk) donne une liste conséquente de dépendances.

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة


F. Petitjean
Ingénieur civil du Génie Maritime.

« On ne perd pas son temps en aiguisant ses outils. »
Proverbe français

« Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. » (R. Devos)

Salut,
Donner un exemple où il n’y a pas de problème n’est pas très probant
Pour ce qui me concerne ldd m’a souvent sauvé la mise pour faire fonctionner des logiciels récupérés sous forme d’archive et qui n’avaient pas été testés dans tous les environnements
exemple

Bonjour,

Le plus simple si tu as accès aux sources et de lire le README ou INSTALL, toutes les dépendances sont normalement listées.

Ensuite je te conseille ensuite de faire des tests avec un chroot minimal de Debian (regarde du coter de Debootstrap), si le paquet se construit, s’installe et fonctionne correctement. Eh ben c’est bien !

Dans Debian les bibliothèques sont presque toujours du types liblenom, quand tu construis des programme tu installeras liblenom-dev qui contient les fichiers nécessaires à la compilation.

Aussi si tu ne l’a pas déjà lu… LA référence https://www.debian.org/doc/debian-policy/ de l’empaquetage

En espérant t’avoir aidé :wink:

Merci pour vos conseils et infos
Alors le programme n’est pas en C ou C++
C’est une application php avec beaucoup de dépendances vers des tools kits.
Donc je n’ai pas à le compiler pour faire un paquet debian, mais juste à copier les fichiers au bon endroit et gérer les dépendances
(pour ceux qui ont suivi un autre de mes threads c’est calculatice , le programme en question :wink:
https://www.debian-fr.org/t/calculatice-probleme-installation-erreur-libglib-2-0-so-0/77013/3

)
Merci à tous, je pense avoir assez de cartes en main pour tenter le paquet deb et je l’essayerai comme sus dit dans un chroot

Pour info en plus de la commande ldd, ai trouvé cette commande (fait partie du paquet devscripts) :

dpkg-depcheck

qui permet de lister les dépendances nécessaires