Rechercher : dans
Par :

Compilation impossible programme gtk

Dernière réponse le 10 jui 2008 à 13:43:10 ptitjano, le 18 jun 2008 à 17:41:10 
 Signaler ce message aux modérateurs

J'essaye désespérément depuis hier de compiler un code source qui utilise notamment gtk2.
Lorsque je tente la compilation par un Makefile, j'obtiens une erreur qui commence comme ceci :


make -C ./src siftfeat
make[1]: entrant dans le répertoire « /home/jean/Video/series/lost/sift/src »
gcc -O3 -I../include `pkg-config --cflags opencv` `pkg-config --cflags gtk+-2.0` `pkg-config --cflags gsl` -c utils.c -o utils.o
In file included from /usr/include/gtk-2.0/gdk/gdkcolor.h:31,
from /usr/include/gtk-2.0/gdk/gdkcairo.h:23,
from /usr/include/gtk-2.0/gdk/gdk.h:30,
from utils.c:15:
/usr/include/gtk-2.0/gdk/gdktypes.h:32:18: error: glib.h: Aucun fichier ou répertoire de ce type
In file included from /usr/include/pango-1.0/pango/pango-font.h:25,
from /usr/include/pango-1.0/pango/pango-attributes.h:25,
from /usr/include/pango-1.0/pango/pango.h:25,
from /usr/include/gtk-2.0/gdk/gdktypes.h:33,
from /usr/include/gtk-2.0/gdk/gdkcolor.h:31,
from /usr/include/gtk-2.0/gdk/gdkcairo.h:23,
from /usr/include/gtk-2.0/gdk/gdk.h:30,
from utils.c:15:
/usr/include/pango-1.0/pango/pango-coverage.h:29: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘typedef’
/usr/include/pango-1.0/pango/pango-coverage.h:38: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
/usr/include/pango-1.0/pango/pango-coverage.h:39: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
/usr/include/pango-1.0/pango/pango-coverage.h:40: error: expected ‘)’ before ‘*’ token
/usr/include/pango-1.0/pango/pango-coverage.h:41: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
/usr/include/pango-1.0/pango/pango-coverage.h:42: error: expected ‘)’ before ‘*’ token
/usr/include/pango-1.0/pango/pango-coverage.h:44: error: expected ‘)’ before ‘*’ token
/usr/include/pango-1.0/pango/pango-coverage.h:47: error: expected ‘)’ before ‘*’ token
/usr/include/pango-1.0/pango/pango-coverage.h:50: error: expected ‘)’ before ‘*’ token
/usr/include/pango-1.0/pango/pango-coverage.h:53: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
In file included from /usr/include/pango-1.0/pango/pango-font.h:26,
from /usr/include/pango-1.0/pango/pango-attributes.h:25,
from /usr/include/pango-1.0/pango/pango.h:25,
from /usr/include/gtk-2.0/gdk/gdktypes.h:33,
from /usr/include/gtk-2.0/gdk/gdkcolor.h:31,
from /usr/include/gtk-2.0/gdk/gdkcairo.h:23,
from /usr/include/gtk-2.0/gdk/gdk.h:30,
from utils.c:15:
/usr/include/pango-1.0/pango/pango-types.h:26:25: error: glib-object.h: Aucun fichier ou répertoire de ce type
In file included from /usr/include/pango-1.0/pango/pango-font.h:26,
from /usr/include/pango-1.0/pango/pango-attributes.h:25,
from /usr/include/pango-1.0/pango/pango.h:25,
from /usr/include/gtk-2.0/gdk/gdktypes.h:33,
from /usr/include/gtk-2.0/gdk/gdkcolor.h:31,
from /usr/include/gtk-2.0/gdk/gdkcairo.h:23,
from /usr/include/gtk-2.0/gdk/gdk.h:30,
from utils.c:15:
/usr/include/pango-1.0/pango/pango-types.h:28: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘G_BEGIN_DECLS’
/usr/include/pango-1.0/pango/pango-types.h:43: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘PangoGlyph’
/usr/include/pango-1.0/pango/pango-types.h: In function ‘pango_units_from_double’:
/usr/include/pango-1.0/pango/pango-types.h:64: error: expected declaration specifiers before ‘G_GNUC_CONST’
/usr/include/pango-1.0/pango/pango-types.h:65: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘G_GNUC_CONST’
/usr/include/pango-1.0/pango/pango-types.h:126: error: storage class specified for parameter ‘PangoDirection’
/usr/include/pango-1.0/pango/pango-types.h:128: error: expected declaration specifiers before ‘PangoDirection’
/usr/include/pango-1.0/pango/pango-types.h:129: error: expected declaration specifiers before ‘PangoDirection’
/usr/include/pango-1.0/pango/pango-types.h:133: error: expected declaration specifiers before ‘gboolean’


J'ai cherché un peu partout et je suspecte un problème entre gtk et glib :


$ pkg-config --cflags gtk+-2.0
-I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pixman-1


Je ne comprends pas pourquoi les librairies glib sont installées dans /usr/local/include et non pas dans /usr/lib/include.
J'ai vérifié et j'ai bien un dossier glib-2.0 dans /usr/local/include et /usr/include. De même pour /usr/local/lib et /usr/lib.

Si quelqu'un a une idée du problème, merci d'avance

Configuration: Linux Debian

Meilleures réponses pour « compilation impossible programme gtk » dans :
La compilation et les modules en C et en C++ VoirCet article a pour vocation d'introduire les notions de bases de la compilation en C et en C++ et de la programmation modulaire. Il permet de mieux comprendre les messages d'erreur du compilateur. Les notions abordées ici sont indépendantes du...
[Linux] Installer les programmes (gestion des paquets, compil) Voir************************************************************** * INSTALLER UN PROGRAMME SOUS LINUX : **** * LA GESTION DES PAQUETS ou COMMENT SE SIMPLIFIER LA VIE * * UN EXEMPLE DE COMPILATION POUR SE FAIRE LA MAIN ...
Compiler un programme assembleur avec Nasm VoirAvec Linux Etape 1. Créer un fichier source Etape 2. Assembler le fichier source Etape 3. Création de l'executable Etape 4. Execution du programme Avec windows Etape 1. Installer les logiciels nécessaires Etape 2. Créer un fichier...
Télécharger ProgDVB VoirLa diffusion de programme en numérique est de plus en plus en vogue depuis l'apparition de la connexion haut-débit. ProgDVB est un programme destiné à regarder des chaînes TV et à écouter des stations radio sur votre ordinateur. Il supporte le DVB-S...
Ecrire un programme en assembleur VoirLa compilation du programme Le programme doit être saisi dans un fichier texte non formaté (c'est-à-dire sans caractères en gras, souligné, avec des polices de caractères de différentes tailles, ...) appelé fichier source. En effet,...
Enterprise Resource Planning (ERP) - Progiciel de Gestion Intégr VoirIntroduction aux ERP Les ERP (en anglais Enterprise Resource Planning), aussi appelés Progiciels de Gestion Intégrés (PGI), sont des applications dont le but est de coordonner l'ensemble des activités d'une entreprise (activités dites verticales...
Analyste programmeur (développeur) VoirDéveloppeur Le métier de développeur (également nommé analyste-programmeur) consiste à concevoir et à développer une application informatique, c'est-à-dire transcrire un besoin en une solution informatique écrite dans un langage informatique....

1

 surfzoid, le 10 jui 2008 à 13:43:10

Avant de compiler tu fait un ./configure
Par défaut ça configure avec un prefix d'install /usr/local.
C'est pourquoi quand je compile je fait systematiquement et minimun :
./configure --prefix=/usr
J'imagine donc que tu n'as pas utilisé les pkg de ta distrib pour installer gtk+, que tu l'as compilé depuis les source avec un ./configure sans le --prefix=/usr

en bref ça ce passe comme ça au minimum (a remplacer par autogen.sh si il y a) :
./configure --prefix=/usr && make clean && make && make install <--- l'install ce fait en tant que root

Répondre à surfzoid
Collection CommentÇaMarche.net