Bonjour,
je souhaite compiler un gtk-3 sur ma SlackWare, sous /opt/gtk-3.
J'ai donc récupéré, compilé et installé glib, pango, atk et gdk-pixbuf dans les versions récentes qui vont bien. Ensuite gtk-3.2.3.
L'étape "configure" est OK. Cependant quand vient la compilation, je tombe sur des erreurs de link dans le répertoire gdk/tests, pour gdk-color. La commande générée par libtool n'est pas bonne, elle fait référence en premier aux bibliothèque système par défaut et non à celles présentes sous /opt/gtk-3.
/bin/sh ../../libtool --tag=CC --mode=link gcc -std=gnu99 -DGDK_PIXBUF_DISABLE_DEPRECATED -g -O2 -Wall -o gdk-color gdk-color.o -L/opt/gtk-3/lib -lpangocairo-1.0 -lpango-1.0 -lgio-2.0 -lfontconfig -lXext -lXinerama -lXi -lXrandr -lXcursor -lXcomposite -lXdamage -lXfixes -lgdk_pixbuf-2.0 -lX11 -lcairo-gobject -lcairo -lgobject-2.0 -lglib-2.0 -lm ../../gdk/libgdk-3.la
libtool: link: gcc -std=gnu99 -DGDK_PIXBUF_DISABLE_DEPRECATED -g -O2 -Wall -o .libs/gdk-color gdk-color.o -L/opt/gtk-3/lib ../../gdk/.libs/libgdk-3.so /opt/gtk-3/lib/libpangocairo-1.0.so /opt/gtk-3/lib/libpangoft2-1.0.so /usr/lib/libstdc++.so /opt/gtk-3/lib/libpango-1.0.so /usr/lib/libXinerama.so /usr/lib/libXi.so /usr/lib/libXrandr.so /usr/lib/libXext.so /usr/lib/libXcursor.so /usr/lib/libXcomposite.so /usr/lib/libXdamage.so /usr/lib/libXfixes.so /opt/gtk-3/lib/libgdk_pixbuf-2.0.so /opt/gtk-3/lib/libgio-2.0.so /opt/gtk-3/lib/libgmodule-2.0.so -lresolv /usr/lib/libcairo-gobject.so /usr/lib/libgobject-2.0.so /usr/lib/libgthread-2.0.so /usr/lib/libglib-2.0.so /usr/lib/libcairo.so /usr/lib/libpixman-1.so /usr/lib/libfontconfig.so /usr/lib/libexpat.so /usr/lib/libfreetype.so -lbz2 /usr/lib/libpng14.so /usr/lib/libXrender.so /usr/lib/libX11.so /usr/lib/libxcb.so /usr/lib/libXau.so /usr/lib/libXdmcp.so -ldl -lz /opt/gtk-3/lib/libgobject-2.0.so /opt/gtk-3/lib/libgthread-2.0.so /opt/gtk-3/lib/libffi.so /opt/gtk-3/lib/libglib-2.0.so -lpthread -lrt -lm -pthread -Wl,-rpath -Wl,/opt/gtk-3/lib
Au niveau des variables d'environnements dès le configure, j'ai :
export PKG_CONFIG_PATH=/opt/gtk-3/lib/pkgconfig:$PKG_CONFIG_PATH
export LD_LIBRARY_PATH=/opt/gtk-3/lib
Mais ça ne suffit pas. Si j'enlève dans la ligne GCC les quelques références aux bibliothèques de /usr/lib présentes dans /opt, ça compile. Sauf que le make essaie à chaque fois de compiler quand même.
J'ai cherché du côté de libtool pendant plusieurs heures, mais sans succès. Auriez-vous une solution, ou même une piste ?
Merci d'avance
# ca fait longtemps que j'ai pas compilé
Posté par NeoX . Évalué à 2.
mais quand je vois
je penses que la compilation va se planter quand il va chercher des libs qui ne sont pas dans /opt/gtk-3/lib
il faut surement faire comme tu fais avec pkg_config_path
ajouter /opt/gtk-3/lib au ld_library_path existant
ca donnerait
[^] # Re: ca fait longtemps que j'ai pas compilé
Posté par ctetruite . Évalué à 0.
Non, ça ne change rien. Avant de setter cette variable, elle est vide. C'est pourquoi je ne mets que le /opt/gtk-3/lib dedans.
# Résolu
Posté par ctetruite . Évalué à 0.
Bonjour,
J'ai finalement réussi en mettant une grosse verrue dans le libtool. Pour supprimer les 3 dépendances en trop du /usr/lib.
Merci
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.