Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GTK+ Discussion :

Installation de GTK


Sujet :

GTK+

  1. #1
    Nouveau membre du Club
    Installation de GTK
    Voila, suite a notre projet de Master, une de mes camarades a decide de faire une interface graphique... et comme on a tout fait en C, elle a fait l'interface avec GTK+, naturellement. Sauf que chez moi je n'ai pas GTK+ d'installe (pourtant, j'ai The GIMP...).

    Je suis donc dans l'obligation d'installer GTK. Mais d'apres le site officiel, il me faut ATK, GLIB et PANGO accessoirement. Je me retrouve alors avec 4 repertoires et je me pose la question "par l'installation de quelle librairie commencer?".

    Apres avoir fait ./configure dans ATK, je n'ai pas de Makefile genere, je ne peux donc pas installer. Avant de continuer a faire n'importe quoi, je prefere demander a ceux qui savent... COMMENT INSTALLER CETTE FOUTUE LIBRAIRIE ???

    Edit: correction de fautes d'orthographe
    Les Bulgares ne parlent ni Français, ni Coréen, mais se débrouillent toujours pour obtenir des réductions sur les géraniums.
    Correction, certain(e)s bulgares parlent français...

  2. #2
    Expert éminent sénior
    Re: [GTK+] Installation sous Mandrake 10.0
    Citation Envoyé par Trillian
    Je suis donc dans l'obligation d'installer GTK.
    Il n'y a pas un RPM dans les composants de Mandriva ?
    Pas de Wi-Fi à la maison : CPL

  3. #3
    Nouveau membre du Club
    Re: [GTK+] Installation sous Mandrake 10.0
    Citation Envoyé par Emmanuel Delahaye
    Citation Envoyé par Trillian
    Je suis donc dans l'obligation d'installer GTK.
    Il n'y a pas un RPM dans les composants de Mandriva ?
    Si Merci !
    Les Bulgares ne parlent ni Français, ni Coréen, mais se débrouillent toujours pour obtenir des réductions sur les géraniums.
    Correction, certain(e)s bulgares parlent français...

  4. #4
    Nouveau membre du Club
    Heu... tout normalement installe, cepandent a la compilation j'ai :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    gcc -g -Wall  -DPOSIX_C_SOURCE=1  -I../..//include    `pkg-config --cflags gtk+-2.0` -c  interface.c
    interface.c: In function `Ouvrir':
    interface.c:627: warning: implicit declaration of function `gtk_file_chooser_dialog_new'
    interface.c:628: error: `GTK_FILE_CHOOSER_ACTION_OPEN' undeclared (first use in this function)
    interface.c:628: error: (Each undeclared identifier is reported only once
    interface.c:628: error: for each function it appears in.)
    interface.c:629: warning: assignment makes pointer from integer without a cast
    interface.c:635: warning: implicit declaration of function `gtk_file_chooser_get_filename'
    interface.c:635: warning: implicit declaration of function `GTK_FILE_CHOOSER'
    interface.c:635: warning: assignment makes pointer from integer without a cast
    interface.c: In function `OuvrirEtiquette':
    interface.c:675: error: `GTK_FILE_CHOOSER_ACTION_OPEN' undeclared (first use in this function)
    interface.c:676: warning: assignment makes pointer from integer without a cast
    interface.c:683: warning: assignment makes pointer from integer without a cast
    make: *** [all] Error 1


    Il faut que je fasse la MAJ de GTK ?
    Les Bulgares ne parlent ni Français, ni Coréen, mais se débrouillent toujours pour obtenir des réductions sur les géraniums.
    Correction, certain(e)s bulgares parlent français...

  5. #5
    Expert éminent sénior
    Citation Envoyé par Trillian
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    gcc -g -Wall  -DPOSIX_C_SOURCE=1  -I../..//include    `pkg-config --cflags gtk+-2.0` -c  interface.c
    interface.c: In function `Ouvrir':
    interface.c:627: warning: implicit declaration of function `gtk_file_chooser_dialog_new'

    Il manque un header, non ?

    "-I../..//include", c'est chelou : "-I../../include"
    Pas de Wi-Fi à la maison : CPL

  6. #6
    Nouveau membre du Club
    Citation Envoyé par Emmanuel Delahaye
    Citation Envoyé par Trillian
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    gcc -g -Wall  -DPOSIX_C_SOURCE=1  -I../..//include    `pkg-config --cflags gtk+-2.0` -c  interface.c
    interface.c: In function `Ouvrir':
    interface.c:627: warning: implicit declaration of function `gtk_file_chooser_dialog_new'

    Il manque un header, non ?

    "-I../..//include", c'est chelou : "-I../../include"
    Non, c'est bon. Il trouve bien les .h qui sont dans ce repertoire. En + les headers de GTK+ ne sont pas la dedans.

    J'ai essaye de faire la MAJ de GTK+ (de 2.2.4 a 2.8.17 je crois), mais comme je ne sais pas me servir de RPM (a part pour installer les packs qui y sont deja), j'ai fait manuellement. Sauf que, a la compilation, GTK rale que les versions de Glib, Atk et Pango ne sont pas a jour. Quand j'ai mis a jour Glib et j'ai relance la compilation de GTK, rien n'avait change. Il trouvait toujours l'ancienne version de Glib ! Alors, que faire ?
    Les Bulgares ne parlent ni Français, ni Coréen, mais se débrouillent toujours pour obtenir des réductions sur les géraniums.
    Correction, certain(e)s bulgares parlent français...

  7. #7
    Membre éclairé
    Je connais pas spécialement Mandriva, mais je sais qu'elle utilise le système RPM de chez RedHat. Par conscéquent, tu dois posséder un outil te permettant d'installer des rpm's en les téléchargeant depuis des sites mirroirs
    et en gérant les dépendances.
    Sous Fedora, cet outil se nomme "yum".


    Mais tu dois forcément avoir un outil de ce genre inclus dans ta distrib'... Cherche bien!
    A+


    Edit: Trouvé! Voilà le gestionnaire dont tu as besoin:
    http://fr.wikipedia.org/wiki/Urpmi

  8. #8
    Futur Membre du Club
    salut !

    ton probleme est que des packages non pas les meme versions(t'a version de GTK+ doit etre compatible seulement avec les versions de tel ou tel package)

    si tu veut t'en tirer facilement il faudrait un installer de package qui tienne en compte les dependance

    ce site poura t interesser pour rpm
    http://eric.gerbier.free.fr/introduction-rpm.html

    a priori ton pb viendrait plus de la compilation en lui meme, avec tes repertoitr

    sinon si tu galere trop et que t'a windows, tente le avec windows(surtout si t'arrive pret de la date final du projet )

    desole pour les fautes d orthographe

    (ps : si j'ai bien compris t'est dans la promo de sab W, je suis un des ses contact, donc si tu galere veut bien de donner un coup de main )

  9. #9
    Nouveau membre du Club
    Citation Envoyé par macdeath
    salut !

    ton probleme est que des packages non pas les meme versions(t'a version de GTK+ doit etre compatible seulement avec les versions de tel ou tel package)
    ca, je capte pas trop, mais bon. Bref...
    Citation Envoyé par macdeath

    si tu veut t'en tirer facilement il faudrait un installer de package qui tienne en compte les dependance
    C'est bien beau, mais lequel?
    Citation Envoyé par macdeath

    ce site poura t interesser pour rpm
    http://eric.gerbier.free.fr/introduction-rpm.html
    Merci!

    Citation Envoyé par macdeath

    a priori ton pb viendrait plus de la compilation en lui meme, avec tes repertoitr

    sinon si tu galere trop et que t'a windows, tente le avec windows(surtout si t'arrive pret de la date final du projet )
    NON PAS WINDOWS... le projet est deja rendu, mais j'aimerais bien qu'il marche chez moi...
    Citation Envoyé par macdeath

    (ps : si j'ai bien compris t'est dans la promo de sab W, je suis un des ses contact, donc si tu galere veut bien de donner un coup de main )
    Mon MSN est dans mon profil
    Les Bulgares ne parlent ni Français, ni Coréen, mais se débrouillent toujours pour obtenir des réductions sur les géraniums.
    Correction, certain(e)s bulgares parlent français...

  10. #10
    Futur Membre du Club
    bah en fait en ce qui concerne l hisqtoires des depandant et tout (sinon je croit qur rpm le fait mais bon je l'ai jamais utilisé :S), apparament c'est pas la que ca cause probleme mais a la compilation , non ?

    pour le deuxieme lien je pense que ce qui te concerner c'etait plutot:
    2. Configuration de votre compilateur.
    Cette étape est obligatoire à la création d'un exécutable GTK+. Elle consiste surtout à configurer l'éditeur de liens et intervient à des moments différents selon votre outil de travail :

    * avec gcc, il faut rajouter l'option `pkg-config --cflags --libs gtk+-2.0` à votre ligne de compilation. Exemple : gcc `pkg-config --libs --cflags gtk+-2.0` monprog.c -o monprog;
    * avec Dev-Cpp, c'est la création du projet qui est importante. Dans la boîte de dialogue "New Project", sélectionner l'onglet GUI puis GTK+ et C Project ;
    * avec Visual C++, il faut dans un premier temps, créer un nouveau projet Console. L'étape suivante consiste à modifier les propriétés du projet en ajoutant les librairies suivantes en entrée de l'éditeur de lien : gtk-win32-2.0.lib, gobject-2.0.lib et glib-2.0.lib.
    * Vous pouvez aussi ajouter les options suivantes pour détecter lors de la compilation toutes les fonctions devenues obsolètes depuis la mise à jour des librairies GTK. Intéressant pour optimiser votre code :
    o DGTK_DISABLE_DEPRECATED=1
    o DGDK_DISABLE_DEPRECATED=1
    o DGDK_PIXBUF_DISABLE_DEPRECATED=1
    o DG_DISABLE_DEPRECATED=1


    Vous êtes maintenant prêt à créer votre première application GTK+.
    si je me trompe ou que je suis pas assez clair, tu peut m'ajouter comme contact : lordmacdeath _AT_ hotmail _DOT_ com

    ++

  11. #11
    Membre éclairé
    Sachant que des outils comme celui que j'ai décrit plus haut gèrent les dépendences, cela pourrait vous simplifier la vie il me semble.

  12. #12
    Nouveau membre du Club
    Citation Envoyé par reggae
    Sachant que des outils comme celui que j'ai décrit plus haut gèrent les dépendences, cela pourrait vous simplifier la vie il me semble.
    Je n'ai que des archives tar.gz, je ne trouve aucun .rpm. Donc, je pense que pour rpm et pour yum, c'est rapé...

    Puis, il y a une chose que j'aimerais bien comprendre (oui, j'utilise Mandrake, mais je ne le connais pas du tout). C'est quoi Fedora, Mandrake, RedHat, Debian etc. Parce que tout à l'heure Mandrake n'a pas pu démarrer KDE (par manque d'espace disque) et s'est mis en mode texte... Et il y avait une en-tête Red Hat. Je crois pas avoir eu des cours à la Fac sur Unix et son histoire, et moi non plus, je me suis pas trop intéressé. Tant que ça marche...
    Les Bulgares ne parlent ni Français, ni Coréen, mais se débrouillent toujours pour obtenir des réductions sur les géraniums.
    Correction, certain(e)s bulgares parlent français...

  13. #13
    Nouveau membre du Club
    Citation Envoyé par macdeath
    bah en fait en ce qui concerne l hisqtoires des depandant et tout (sinon je croit qur rpm le fait mais bon je l'ai jamais utilisé :S), apparament c'est pas la que ca cause probleme mais a la compilation , non ?
    Oui, c'est à la compilation qu'il ne trouve pas la référence vers une fonction (d'ouverture de la fenêtre d'exploration de fichiers).
    Citation Envoyé par macdeath

    pour le deuxieme lien je pense que ce qui te concerner c'etait plutot:
    2. Configuration de votre compilateur.
    Cette étape est obligatoire à la création d'un exécutable GTK+. Elle consiste surtout à configurer l'éditeur de liens et intervient à des moments différents selon votre outil de travail :

    * avec gcc, il faut rajouter l'option `pkg-config --cflags --libs gtk+-2.0` à votre ligne de compilation. Exemple : gcc `pkg-config --libs --cflags gtk+-2.0` monprog.c -o monprog;
    * avec Dev-Cpp, ...
    * Vous pouvez aussi ajouter les options suivantes pour détecter lors de la compilation toutes les fonctions devenues obsolètes depuis la mise à jour des librairies GTK. Intéressant pour optimiser votre code :
    o DGTK_DISABLE_DEPRECATED=1
    o DGDK_DISABLE_DEPRECATED=1
    o DGDK_PIXBUF_DISABLE_DEPRECATED=1
    o DG_DISABLE_DEPRECATED=1


    Vous êtes maintenant prêt à créer votre première application GTK+.
    Je crois pas que ce soit à cause du "--libs", mais je le rajouterai. Le reste aussi.
    Citation Envoyé par macdeath

    si je me trompe ou que je suis pas assez clair, tu peut m'ajouter comme contact : lordmacdeath _AT_ hotmail _DOT_ com

    ++
    C'est gentil.
    Les Bulgares ne parlent ni Français, ni Coréen, mais se débrouillent toujours pour obtenir des réductions sur les géraniums.
    Correction, certain(e)s bulgares parlent français...

  14. #14
    Membre éclairé
    Parcours les cd's de la distribution, tu dois surement y trouver les rpm's de GTK, vu qu'il est installé depuis les cd's...
    Fedora, Mandrake,etc. sont des distributions. Ces dernières sont composées de nombreux outils(Firefox, configuration réseau) et d'une interface graphique(Gnome ou KDE). Ces éléments dépendent du noyau(kernel en anglais) qui se nomme GNU/Linux. Ainsi, lorsque l'on parle de LINUX, on parle du noyau, le coeur du système...

  15. #15
    Nouveau membre du Club
    Citation Envoyé par reggae
    Parcours les cd's de la distribution, tu dois surement y trouver les rpm's de GTK, vu qu'il est installé depuis les cd's...
    L'installation des CDs est deja faite. Les version sont trop vieilles. Je veux faire la MAJ.

    Je viens de trouver sur http://rpmfind.net des rpm pour atk et glib. Quand je lance successivement
    rpm -U glib-2.3.5-1.i386.rpm
    rpm -U atk-1.8.0-2.src.rpm
    pkg-config --modversion glib
    pkg-config --modversion atk

    j'ai toujours les anciennes versions ??? Ca veut dire quoi ca??? Je commence a peter les plombs !!!

    Edit: les version actuelles sont atk: 1.4.1 et glib 1.2.10
    Les Bulgares ne parlent ni Français, ni Coréen, mais se débrouillent toujours pour obtenir des réductions sur les géraniums.
    Correction, certain(e)s bulgares parlent français...

  16. #16
    Membre éclairé
    T'as essayé avec RpmDrake?
    Ca a l'air d'être l'outil "ultime" de gestion de paquetage avec une interface graphique sous Linux!

  17. #17
    Futur Membre du Club
    question toute bete si tu l'as pas deja fait, essaye de commenter cette fonction et de mettre son resultat en dur, histoire de voir si ya que cette fonction qui passe pas.

    Parce que a mon avis cette fonction devait deja etre presente dans les ancienne version mais sous un nom different ou avec des parametres differents

  18. #18
    Nouveau membre du Club
    Problème résolu (à minuit!)

    En fait, la variable PKG_CONFIG_PATH n'était pas définie, ni LD_LIBRARY_PATH. Et l'installation de GLIB se passait bien, mais pkg-config ne trouvait pas la bonne version, et par conséquent ATK et PANGO
    trouvaient la mauvaise aussi. Alors, j'explique :

    J'ai d'abord installé GLIB (./configure | make | make install), puis j'ai tenté d'installer ATK.

    Dans ses messages d'erreur il disait qu'il ne trouvait pas la bonne version de GLIB et qu'il fallait "ajouter" l'emplacement du fichier glib-2.0.pc à PKG_CONFIG_PATH. Ce que j'ai fait - j'ai mis PKG_CONFIG_PATH=/usr/local/lib/pkgconfig. Puis second message d'erreur à propos de LD_LIBRARY_PATH, bref, j'ai compris qu'il était pas foutu de trouver le repertoire des bibliothèques par défaut et j'ai initialisé LD_LIBRARY_PATH à /usr/local/lib.

    La configuration de ATK s'est bien passé, compilation, installation... ATK installé, je me suis attaquée à PANGO. Aucun souci. Les dépandences de base bien installées j'y vais pour installer GTK+... et là, il trouve pas CAIRO! J'installe CAIRO. Je relance la configuration de GTK+, il aime pas PANGO. Il veut PANGO installé après CAIRO. Je desinstalle PANGO, je réinstalle, je relance la configuration de GTK+.... Et ça passe

    Tout ceci jusqu'à 23:00! GTK+ a compilé jusqu'à 00:15! (il faut dire aussi que j'ai un Celeron à 400MHz ac 256 de RAM...). A l'heure actuelle je ne l'ai toujours pas installé. Mais il n'y a pas de raison que ça marche pas. Je vous tient au courant quand même, mais je pense que c'est bon... Enfin, j'espère!

    Edit: j'ai oublié! Après avoir réinstallé PANGO avec CAIRO, à la configuration de GTK+ il a demandé encore une librairie (optionnelle) - tiff. J'ai fini par tout installer (jpeg, tiff, png) pour qu'il n'ait plus rien à dire...
    Les Bulgares ne parlent ni Français, ni Coréen, mais se débrouillent toujours pour obtenir des réductions sur les géraniums.
    Correction, certain(e)s bulgares parlent français...

  19. #19
    Nouveau membre du Club
    Citation Envoyé par macdeath
    question toute bete si tu l'as pas deja fait, essaye de commenter cette fonction et de mettre son resultat en dur, histoire de voir si ya que cette fonction qui passe pas.

    Parce que a mon avis cette fonction devait deja etre presente dans les ancienne version mais sous un nom different ou avec des parametres differents
    C'est déjà fait et ça compile sans souci. Mais c'est embêtant, parce que j'ai besoin de pouvoir ouvrir des fichiers... Mais oui, c'est vraiment cette fonction là.
    Les Bulgares ne parlent ni Français, ni Coréen, mais se débrouillent toujours pour obtenir des réductions sur les géraniums.
    Correction, certain(e)s bulgares parlent français...

  20. #20
    Futur Membre du Club
    bah c'est cool si t'a reussi a te demerdée toute seule ^__^

    bon courage pour la suite