IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Bibliothèques Discussion :

libburn se plante exprès


Sujet :

Bibliothèques

  1. #1
    Inactif  
    Homme Profil pro
    Collégien
    Inscrit en
    Octobre 2012
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Octobre 2012
    Messages : 78
    Points : 0
    Points
    0
    Par défaut libburn se plante exprès
    J'ai compilé un programme utilisant libburn mais une erreur de compilation assez simple à reconnaître surgit :
    Code shell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    /Applications/Xcode.app/Contents/Developer/usr/bin/make  all-am
    if gcc -DHAVE_CONFIG_H -I. -I. -I.  -I./libburn -I./libisofs -I./libisoburn -I./xorriso   -DDEBUG -g -pedantic -Wall -Wextra -Wno-unused-parameter -Wno-char-subscripts -g -O2 -MT libburn/xorriso_xorriso-sg.o -MD -MP -MF "libburn/.deps/xorriso_xorriso-sg.Tpo" -c -o libburn/xorriso_xorriso-sg.o `test -f 'libburn/sg.c' || echo './'`libburn/sg.c; \
    	then mv -f "libburn/.deps/xorriso_xorriso-sg.Tpo" "libburn/.deps/xorriso_xorriso-sg.Po"; else rm -f "libburn/.deps/xorriso_xorriso-sg.Tpo"; exit 1; fi
    libburn/sg.c:77:6: error: redefinition of 'Cannot_recognize_GNU_Linux_nor_FreeBSD_nor_Solaris_nor_NetBSD_'
     int Cannot_recognize_GNU_Linux_nor_FreeBSD_nor_Solaris_nor_NetBSD_;
         ^
    libburn/sg.c:73:6: note: previous definition is here
     int Cannot_recognize_GNU_Linux_nor_FreeBSD_nor_Solaris_nor_NetBSD_;
         ^
    1 error generated.
    make[1]: *** [libburn/xorriso_xorriso-sg.o] Error 1
    make: *** [all] Error 2

    Pour faire simple : une variable a été définie plusieurs fois (le compilateur n'est pas assez intelligent pour transformer les définitions en changements de valeurs tout bête, on se demande bien pourquoi). La variable a un nom bizzare aussi, comme si une erreur en cachait une autre :
    "Cannot recognize GNU/Linux nor FreeBSD nor Solaris nor NetBSD"
    Le code est dans la libburn, donc c'est libburn qui me fait une blague. Une vraie, parceque l'erreur vient de là en fait :
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    static int intentional_compiler_warning(void)
    {
     int INTENTIONAL_COMPILER_WARNING_;
     int Cannot_recognize_GNU_Linux_nor_FreeBSD_nor_Solaris_nor_NetBSD_;
     int Have_to_use_dummy_MMC_transport_adapter_;
     int This_libburn_will_not_be_able_to_operate_on_real_CD_drives;
     int Have_to_use_dummy_MMC_transport_adapter;
     int Cannot_recognize_GNU_Linux_nor_FreeBSD_nor_Solaris_nor_NetBSD_;
     int INTENTIONAL_COMPILER_WARNING;
     
     return(0);
    }
    "intentional_compiler_warning", très mal trouvé comme nom de fonction, c'est plutôt "function_for_annoy_peoples", sans être vulgaire.
    Donc comment on fait pour résoudre ce bug... intentionné? (Ils sont vraiment sadiques, les devs de libburn.)

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Pouvez-vous me donner le lien vers cette fameuse bibliothèque ?
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 119
    Points
    28 119
    Par défaut
    Bonjour,

    Tu utilises un chemin d'acces contenant XCode, ce qui suggère que tu es sous MAC. Si c'est bien le cas, l'erreur "Cannot_recognize_GNU_Linux_nor_FreeBSD_nor_Solaris_nor_NetBSD_" ne me semble pas extravagante, puisque justement tu n'utilises pas l'un de ces OS.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  4. #4
    Inactif  
    Homme Profil pro
    Collégien
    Inscrit en
    Octobre 2012
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Octobre 2012
    Messages : 78
    Points : 0
    Points
    0
    Par défaut
    Cela me semble extravagant, puisque Mac OS X est un système BSD basé sur FreeBSD.

  5. #5
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 119
    Points
    28 119
    Par défaut
    Mac OS X est bien issu de BSD, mais ce n'est pas un OS BSD, et surtout pas freeBSD. En general, les programmes se basent sur le resultat de la commande "uname", et de memoire (je n'ai pas de mac pour tester) uname ne repond absolument pas BSD sous Mac.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  6. #6
    Inactif  
    Homme Profil pro
    Collégien
    Inscrit en
    Octobre 2012
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Octobre 2012
    Messages : 78
    Points : 0
    Points
    0
    Par défaut
    Le pire, c'est que libburn est sensé trouver toute la panoplie nécessaire à son bon fonctionnement. Il devrait se baser sur le résultat des commandes dont il a besoin, ce serait mieux.

  7. #7
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    On peut avoir le lien sur le site officielle, pour cette bibliothèque, s'il vous plait.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  8. #8
    Inactif  
    Homme Profil pro
    Collégien
    Inscrit en
    Octobre 2012
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Octobre 2012
    Messages : 78
    Points : 0
    Points
    0
    Par défaut
    Aucune idée.

  9. #9
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    Et donc, d'où avez vous pris cette bibliothèque ?
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  10. #10
    Membre expert
    Avatar de Metalman
    Homme Profil pro
    Enseignant-Chercheur
    Inscrit en
    Juin 2005
    Messages
    1 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Enseignant-Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 049
    Points : 3 532
    Points
    3 532
    Par défaut
    Fais tes armes sur une autre machine que tu pourras réinstaller "avant" de péter ton Mac/whatever. (et surtout : crée-toi un autre compte/supprime celui-là parce que tu es fiché mon pauvre...)
    Installe-toi un FreeBSD minimal... installe tout en recompilant et en choisissant les options... arrache-toi les cheveux sur les syntaxes sh/bash/tcsh et le manque de fonctionnalités sur certains....
    Découvre BSDmake et GNUmake et pète un câble sur "pourquoi ils en ont fait 2 qui ont des fonctionnalités différentes mais vachement utiles ?!? Pourquoi il faut des tabulations aux retours à la ligne et pas des espaces ?!!!!!"...
    ...
    Essaye d'installer un Xorg dessus et un window manager pas trop compliqué (fluxbox/blackbox), pète un câble pendant 2 semaines dessus parce que rien n'est reconnu, il faut tout recompiler pendant des heures et des heures... chercher le bon Xorg.conf lu, ce que fais le .xsession, etc....

    Et tu verras que dans 6 mois ~ 1 an tout te paraitra tellement plus simple.
    ...et que FreeBSD, NetBSD, OpenBSD, Debian, Red Hat, Mac OS X, etc... sont bel et bien TRES différents les uns des autres.

    ---

    Si tu lis les erreurs tu verras :
    int Cannot_recognize_GNU_Linux_nor_FreeBSD_nor_Solaris_nor_NetBSD_;
    ^
    libburn/sg.c:73:6: note: previous definition is here
    "previous definition is here"
    Ca c'est une erreur de base en dév : il y a 2 fois la déclaration d'un même truc (variable, fonction, ...), donc... il suffit d'en supprimer une.
    Vu le nom de la fonction, c'est sûrement pour une bonne raison que c'est là, à lire dans la doc.

    Et pour que ça compile "simplement" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    static int intentional_compiler_warning(void)
    {
     int INTENTIONAL_COMPILER_WARNING_;
     int Cannot_recognize_GNU_Linux_nor_FreeBSD_nor_Solaris_nor_NetBSD_;
     int Have_to_use_dummy_MMC_transport_adapter_;
     int This_libburn_will_not_be_able_to_operate_on_real_CD_drives;
     int Have_to_use_dummy_MMC_transport_adapter;
     int INTENTIONAL_COMPILER_WARNING;
     
     return(0);
    }
    Et pour que ça compile "dans l'esprit des autres lignes" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    static int intentional_compiler_warning(void)
    {
     int INTENTIONAL_COMPILER_WARNING_;
     int Cannot_recognize_GNU_Linux_nor_FreeBSD_nor_Solaris_nor_NetBSD_;
     int Have_to_use_dummy_MMC_transport_adapter_;
     int This_libburn_will_not_be_able_to_operate_on_real_CD_drives;
     int Have_to_use_dummy_MMC_transport_adapter;
     int Cannot_recognize_GNU_Linux_nor_FreeBSD_nor_Solaris_nor_NetBSD;
     int INTENTIONAL_COMPILER_WARNING;
     
     return(0);
    }
    (un underscore en moins à la fin du 2e "Cannot...")

    Bref je suppose que c'est celle là de libburn ?
    --
    Metalman !

    Attendez 5 mins après mes posts... les EDIT vont vite avec moi...
    Les flags de la vie : gcc -W -Wall -Werror -ansi -pedantic mes_sources.c
    gcc -Wall -Wextra -Werror -std=c99 -pedantic mes_sources.c
    (ANSI retire quelques fonctions comme strdup...)
    L'outil de la vie : valgrind --show-reachable=yes --leak-check=full ./mon_programme
    Et s'assurer que la logique est bonne "aussi" !

    Ma page Developpez.net

  11. #11
    Inactif  
    Homme Profil pro
    Collégien
    Inscrit en
    Octobre 2012
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Octobre 2012
    Messages : 78
    Points : 0
    Points
    0
    Par défaut
    Eh oh, je connais pas forcément toutes les adresses des bibliothèques des programmes que j'utilise...

  12. #12
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    C'est bien dommage, car notamment :
    • ça permet aux lecteurs de découvrir des choses ;
    • ça permet à ceux qui vous suivent de savoir de quoi vous parlez (non, il n'y a pas qu'une bibliothèque pour graver des CD, dans ce monde) ;
    • ça vous permet de lire la documentation, ou tout aide supplémentaire par rapport à la bibliothèque et donc, de progresser dans votre périple, car la documentation, c'est la voie vers la lumière ;
    • et finalement, ça me permettait de télécharger la bibliothèque moi-même pour faire des tests et dans l'espoir de vous aider.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  13. #13
    Membre expert
    Avatar de Metalman
    Homme Profil pro
    Enseignant-Chercheur
    Inscrit en
    Juin 2005
    Messages
    1 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Enseignant-Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 049
    Points : 3 532
    Points
    3 532
    Par défaut
    Bah... tu verras qu'avec chaque lib tu as un README fourni à la racine du projet, et dedans les gens se jettent des fleurs pour montrer qu'ils sont trop forts ! (il y a aussi le AUTHORS pour ça)... et en bas ou en haut ils indiquent le site web pour leur faire des dons paypal/bitcoins/autre ou simplement leur écrire un mot (gentil ou méchant).

    Le README, j'avoue : je ne le lis que très rarement, et pourtant il contient les bugs/problèmes réglés, ou comment contourner certaines difficultés...
    ...et le TODO contient les features qui sont en cours d'ajout et les bugs en cours de correction.

    Si tu as toujours ta lib, regarde le README et l'adresse indiquée avec !
    Simplement le nom de l'auteur t'aidera sur google à retrouver le bon site associé !
    --
    Metalman !

    Attendez 5 mins après mes posts... les EDIT vont vite avec moi...
    Les flags de la vie : gcc -W -Wall -Werror -ansi -pedantic mes_sources.c
    gcc -Wall -Wextra -Werror -std=c99 -pedantic mes_sources.c
    (ANSI retire quelques fonctions comme strdup...)
    L'outil de la vie : valgrind --show-reachable=yes --leak-check=full ./mon_programme
    Et s'assurer que la logique est bonne "aussi" !

    Ma page Developpez.net

  14. #14
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 119
    Points
    28 119
    Par défaut
    Bonjour,

    Citation Envoyé par sosolal Voir le message
    Eh oh, je connais pas forcément toutes les adresses des bibliothèques des programmes que j'utilise...
    Comment as-tu eu les sources de libburn alors ? Tu l'as bien telecharge quelque part non ?
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  15. #15
    Inactif  
    Homme Profil pro
    Collégien
    Inscrit en
    Octobre 2012
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Octobre 2012
    Messages : 78
    Points : 0
    Points
    0
    Par défaut
    bah non... les sources étaient inclus dans les sources du programme...

  16. #16
    Membre expert
    Avatar de Metalman
    Homme Profil pro
    Enseignant-Chercheur
    Inscrit en
    Juin 2005
    Messages
    1 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Enseignant-Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 049
    Points : 3 532
    Points
    3 532
    Par défaut
    Bwarf !
    Quelle horreur...
    C'est un projet "publique" qui fournit tout ça ?

    Si tu veux utiliser la lib dynamique il te faut dans tous les cas :
    - Les .h de la lib
    - Le .so de la lib

    Et ça nécessite donc de DL la tarball du projet dans tous les cas (ou sur les distrib' avec gestionnaire de paquet : d'installer les paquets binaires et certains "-dev").
    --
    Metalman !

    Attendez 5 mins après mes posts... les EDIT vont vite avec moi...
    Les flags de la vie : gcc -W -Wall -Werror -ansi -pedantic mes_sources.c
    gcc -Wall -Wextra -Werror -std=c99 -pedantic mes_sources.c
    (ANSI retire quelques fonctions comme strdup...)
    L'outil de la vie : valgrind --show-reachable=yes --leak-check=full ./mon_programme
    Et s'assurer que la logique est bonne "aussi" !

    Ma page Developpez.net

  17. #17
    Inactif  
    Homme Profil pro
    Collégien
    Inscrit en
    Octobre 2012
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Octobre 2012
    Messages : 78
    Points : 0
    Points
    0
    Par défaut
    justement c'est PAS une lib dynamique, même pas une statique c'est... techniquement pas une lib

Discussions similaires

  1. Modéliser une planète?
    Par shifty.net dans le forum OpenGL
    Réponses: 10
    Dernier message: 30/08/2004, 14h13
  2. [MFC] DoModal() plante
    Par barthelv dans le forum MFC
    Réponses: 3
    Dernier message: 29/07/2004, 10h56
  3. Que se passe-t-il en interne si un ROLLBACK plante ?
    Par jack554 dans le forum Administration
    Réponses: 4
    Dernier message: 07/04/2004, 12h55
  4. Réponses: 11
    Dernier message: 17/03/2003, 10h56
  5. Réponses: 2
    Dernier message: 23/10/2002, 13h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo