Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 26/01/2021, à 17:36

DonutMan75

[RESOLU] Question dpkg-config pour compilation

Hello,
désolé de vous déranger encore avec ça mais....

Comment peut-on a priori faire le lien entre
1- le nom d'un paquet de dev qu'on installe : libglib2.0-dev
2- le nom du paquet à passer en argument à dpkg-config afin d'avoir les flags de compilation : glib-2.0

Existe-t-il une transformation canonique (virer le préfixe lib, supprimer le -dev, mettre un tiret obligatoirement entre le nom et la version) qui fonctionne à chaque fois ?
J'ai finalement trouvé la solution sur le net et je trouve ça assez frustrant...

$ sudo apt-get install libglib2.0-dev
$ dpkg-query -l "libglib*"
Souhait=inconnU/Installé/suppRimé/Purgé/H=à garder
| État=Non/Installé/fichier-Config/dépaqUeté/échec-conFig/H=semi-installé/W=attend-traitement-déclenchements
|/ Err?=(aucune)/besoin Réinstallation (État,Err: majuscule=mauvais)
||/ Nom                               Version          Architecture Description
+++-=================================-================-============-===================================================
ii  libglib-object-introspection-perl 0.047-1          amd64        Perl bindings for gobject-introspection libraries
ii  libglib-perl                      3:1.329-1        amd64        interface to the GLib and GObject libraries
ii  libglib2.0-0:amd64                2.58.3-2+deb10u2 amd64        GLib library of C routines
un  libglib2.0-0-dbg                  <aucune>         <aucune>     (aucune description n'est disponible)
ii  libglib2.0-bin                    2.58.3-2+deb10u2 amd64        Programs for the GLib library
ii  libglib2.0-data                   2.58.3-2+deb10u2 all          Common files for GLib library
ii  libglib2.0-dev:amd64              2.58.3-2+deb10u2 amd64        Development files for the GLib library
ii  libglib2.0-dev-bin                2.58.3-2+deb10u2 amd64        Development utilities for the GLib library
ii  libglib2.0-doc                    2.58.3-2+deb10u2 all          Documentation files for the GLib library
un  libglibmm-2.4-1c2a                <aucune>         <aucune>     (aucune description n'est disponible)
ii  libglibmm-2.4-1v5:amd64           2.58.0-2         amd64        C++ wrapper for the GLib toolkit (shared libraries)
$ pkg-config --cflags --libs glib-2.0
-I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -lglib-2.0

Dernière modification par DonutMan75 (Le 27/01/2021, à 19:21)

Hors ligne

#2 Le 26/01/2021, à 19:32

kamaris

Re : [RESOLU] Question dpkg-config pour compilation

Je dirais non, car je ne pense pas que tu aies un paquet séparé pour GIO par exemple, alors que tu as

$ pkg-config --cflags --libs gio-2.0
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -pthread -I/usr/include/libmount -I/usr/include/blkid -lgio-2.0 -lgobject-2.0 -lglib-2.0 
$ 

Ce qui fait foi, c'est l'existence ou non de fichiers .pc dans les répertoires de recherche de pkg-config.
Un moyen de chercher les bons noms peut être

pkg-config --list-all | grep glib

Dernière modification par kamaris (Le 26/01/2021, à 19:35)

Hors ligne

#3 Le 27/01/2021, à 19:21

DonutMan75

Re : [RESOLU] Question dpkg-config pour compilation

Hello kamaris,
super merci pour ton retour !
Lister les paquets via pkg-config c'est la bonne solution pour trouver le nom du .pc correspondant, bien vu !

En farfouillant un peu j'ai aussi trouvé les différents .pc utilisés par pkg-config.. dont celui qui m'intéresse !

$ more /usr/lib/x86_64-linux-gnu/pkgconfig/glib-2.0.pc
prefix=/usr
libdir=${prefix}/lib/x86_64-linux-gnu
includedir=${prefix}/include

bindir=${prefix}/bin
glib_genmarshal=${bindir}/glib-genmarshal
gobject_query=${bindir}/gobject-query
glib_mkenums=${bindir}/glib-mkenums

Name: GLib
Description: C Utility Library
Version: 2.58.3
Requires.private: libpcre >=  8.31
Libs: -L${libdir} -lglib-2.0
Libs.private: -pthread
Cflags: -I${includedir}/glib-2.0 -I${libdir}/glib-2.0/include

Merci encore pour tout

bonne soirée à tous,

D.

Hors ligne