J'ai Ubuntu 14.04 32 bits. J'essaie de compiler une application à partir du code source. Il me donne un message d'erreur lors de la liaison dans le processus make
si ./autogen.sh
et ./configure
passé sans erreur. J'ai eu cette erreur undefined reference to g_variant_parse_error_quark
J'ai lu que cette fonction g_variant_parse_error_quark
ajouté à glib2 en 2.39. J'ai vérifié les packages installés et constaté que la version de libglib est 2.40.0 dans mon système. pourtant
pkg-config --modversion glib-2.0
rapports 2.38.2
Il semble que j'ai au moins deux glib2 différents installés. J'ai peut-être installé manuellement glib2 à partir des sources dans le passé.
Comment puis-je résoudre ce problème et laisser mon système utiliser la dernière bibliothèque correcte?
Comme je l'ai deviné, cela provenait de plusieurs bibliothèques en conflit. Quand je cours
echo $PKG_CONFIG_PATH
il a renvoyé une ligne vide
Ensuite, j'ai cherché
locate glib-2.0.pc
et j'ai
/usr/lib/i386-linux-gnu/pkgconfig/glib-2.0.pc
/usr/lib/i386-linux-gnu/pkgconfig/spice-client-glib-2.0.pc
/usr/local/lib/pkgconfig/glib-2.0.pc
Je cours aussi
pkg-config --debug --modversion glib-2.0
pour trouver les répertoires recherchés
J'ai regardé dans le glib-2.0.pc
fichiers et vérifié les numéros de version.
J'ai localisé le bon glib-2.0.pc
fichier
alors je cours
export PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig/
ensuite ./autogen.sh
et make
s'est bien passé