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

C++ Discussion :

Skipping incompatible *.so when searching fo -llib


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 026
    Par défaut Skipping incompatible *.so when searching fo -llib
    Bonjour,

    Je tente actuellement d'utiliser sfeMovie, pour cela je l'ai compilé, puis j'ai tenté de compiler le code d'exemple et g++ me donne un message d'erreur :
    Skipping incompatible libsfeMovie.so when searching for -lsfeMovie
    .

    D'après ce que j'ai lu, il cela se produit lorsque le .so n'a pas été compilé pour la bonne architecture.

    J'ai donc exécuté la commande file -L /usr/lib/libsfeMovie.so qui m'a donnée :
    /usr/lib/libsfeMovie.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=0x2033959fefe46151b95bf31092bd0cec2f8f1529, not stripped
    Ainsi que sur une bibliothèque qui marche bien :
    Citation Envoyé par file -L /usr/lib/libsfml-system.so.2
    /usr/lib/libsfml-system.so.2: ELF 32-bit LSB shared object, Intel 80386, version 1 (GNU/Linux), dynamically linked, BuildID[sha1]=0xe84d584e4ecacc35929790ad7ea393d3eda2cdb2, not stripped
    J'ai essayé de parcourrir le build.sh et le Makefile pour voir si certaines choses me semblaient inhabituelle mais je n'ai rien remarqué, auriez-vous une idée ?

    Téléchargement des sources : https://github.com/Yalir/sfeMovie/zipball/v1.0

    EDIT : Je suis sous Ubuntu LTS 12.04 et je compile avec g++ 4.7.2

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 476
    Par défaut
    À tout hasard, ne travaillerais-tu pas sur une distribution 64 bits ? La bibliothèque qui « marche bien » le ferait alors parce que les deux versions (32 et 64) sont installées dessus, contrairement à celle qui te pose problème…

  3. #3
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 026
    Par défaut
    Je suis en effet sur un système 64 bit.

    Par contre pour la bibliothèque qui marche bien, je ne vois qu'un seul .so et 2 liens symboliques vers ce .so


    J'ai compilé pour du 32 bit et il me donne cette fois cette erreur :
    /usr/include/c++/4.7/iosfwd:40:28: fatal error: bits/c++config.h: Aucun fichier ou dossier de ce type


    EDIT : j'ai téléchargé la version déjà compilée 64 bit et voilà ce que j'ai :
    neckara@neckUbu:~/Bureau/test$ g++ main.cpp -m64 -lsfeMovie -lsfml-system -lsfml-window -lsfml-graphics -lsfml-audio -o exe
    /usr/lib/libavdevice.so.54: undefined reference to `avfilter_graph_dump@LIBAVFILTER_2'
    /usr/lib/libavformat.so.54: undefined reference to `av_rescale_q_rnd@LIBAVUTIL_51'
    /usr/lib/libavformat.so.54: undefined reference to `av_dynarray_add@LIBAVUTIL_51'
    /usr/lib/libavdevice.so.54: undefined reference to `av_buffersink_params_alloc@LIBAVFILTER_2'
    /usr/lib/libavformat.so.54: undefined reference to `av_bprintf@LIBAVUTIL_51'
    /usr/lib/libavformat.so.54: undefined reference to `av_timecode_make_smpte_tc_string@LIBAVUTIL_51'
    /usr/lib/libavdevice.so.54: undefined reference to `avfilter_inout_free@LIBAVFILTER_2'
    /usr/lib/libavdevice.so.54: undefined reference to `av_buffersink_get_buffer_ref@LIBAVFILTER_2'
    /usr/lib/libavformat.so.54: undefined reference to `av_bprint_init@LIBAVUTIL_51'
    /usr/lib/libavcodec.so.54: undefined reference to `av_get_media_type_string@LIBAVUTIL_51'
    /usr/lib/libavformat.so.54: undefined reference to `av_calloc@LIBAVUTIL_51'
    /usr/lib/libavdevice.so.54: undefined reference to `avfilter_all_channel_layouts@LIBAVFILTER_2'
    /usr/lib/libavformat.so.54: undefined reference to `av_timecode_make_string@LIBAVUTIL_51'
    /usr/lib/libavformat.so.54: undefined reference to `av_tempfile@LIBAVUTIL_51'
    /usr/lib/libavcodec.so.54: undefined reference to `av_samples_copy@LIBAVUTIL_51'
    /usr/lib/libavcodec.so.54: undefined reference to `av_samples_set_silence@LIBAVUTIL_51'
    /usr/lib/libavformat.so.54: undefined reference to `av_realloc_f@LIBAVUTIL_51'
    /usr/lib/libavformat.so.54: undefined reference to `av_bprint_finalize@LIBAVUTIL_51'
    /usr/lib/libavdevice.so.54: undefined reference to `av_abuffersink_params_alloc@LIBAVFILTER_2'
    /usr/lib/libavformat.so.54: undefined reference to `av_timecode_init@LIBAVUTIL_51'
    /usr/lib/libavcodec.so.54: undefined reference to `av_timecode_make_mpeg_tc_string@LIBAVUTIL_51'
    collect2: error: ld returned 1 exit status
    Autant la sfml se compile et s'utilise sans problème autant sfeMovie....

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 476
    Par défaut
    Après une brève recherche, on trouve quelque chose de similaire ici.

    Apparemment, c'est le même problème : il existe des versions 32 et 64 bits de ces fichiers (même dans le cas de fichiers *.h, la taille des objets déclarés peut varier d'une architecture à l'autre).

    Dans les deux cas, il doit exister deux versions d'un même package et le meilleur moyen de ne pas avoir d'ennuis est de les installer toutes les deux.

  5. #5
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 476
    Par défaut
    Citation Envoyé par Neckara Voir le message
    EDIT : j'ai téléchargé la version déjà compilée 64 bit et voilà ce que j'ai :
    Et si tu rajoutes « -lavfilter » aux options de GCC ?

  6. #6
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 026
    Par défaut
    J'ai toujours les mêmes erreurs :
    neckara@neckUbu:~/Bureau/test$ g++ main.cpp -m64 -lsfeMovie -lsfml-system -lsfml-window -lsfml-graphics -lsfml-audio -lavfilter -o exe
    /usr/lib/libavdevice.so.54: undefined reference to `avfilter_graph_dump@LIBAVFILTER_2'
    /usr/lib/libavformat.so.54: undefined reference to `av_rescale_q_rnd@LIBAVUTIL_51'
    /usr/lib/libavformat.so.54: undefined reference to `av_dynarray_add@LIBAVUTIL_51'
    /usr/lib/libavdevice.so.54: undefined reference to `av_buffersink_params_alloc@LIBAVFILTER_2'
    /usr/lib/libavformat.so.54: undefined reference to `av_bprintf@LIBAVUTIL_51'
    /usr/lib/libavformat.so.54: undefined reference to `av_timecode_make_smpte_tc_string@LIBAVUTIL_51'
    /usr/lib/libavdevice.so.54: undefined reference to `avfilter_inout_free@LIBAVFILTER_2'
    /usr/lib/libavdevice.so.54: undefined reference to `av_buffersink_get_buffer_ref@LIBAVFILTER_2'
    /usr/lib/libavformat.so.54: undefined reference to `av_bprint_init@LIBAVUTIL_51'
    /usr/lib/libavcodec.so.54: undefined reference to `av_get_media_type_string@LIBAVUTIL_51'
    /usr/lib/libavformat.so.54: undefined reference to `av_calloc@LIBAVUTIL_51'
    /usr/lib/libavdevice.so.54: undefined reference to `avfilter_all_channel_layouts@LIBAVFILTER_2'
    /usr/lib/libavformat.so.54: undefined reference to `av_timecode_make_string@LIBAVUTIL_51'
    /usr/lib/libavformat.so.54: undefined reference to `av_tempfile@LIBAVUTIL_51'
    /usr/lib/libavcodec.so.54: undefined reference to `av_samples_copy@LIBAVUTIL_51'
    /usr/lib/libavcodec.so.54: undefined reference to `av_samples_set_silence@LIBAVUTIL_51'
    /usr/lib/libavformat.so.54: undefined reference to `av_realloc_f@LIBAVUTIL_51'
    /usr/lib/libavformat.so.54: undefined reference to `av_bprint_finalize@LIBAVUTIL_51'
    /usr/lib/libavdevice.so.54: undefined reference to `av_abuffersink_params_alloc@LIBAVFILTER_2'
    /usr/lib/libavformat.so.54: undefined reference to `av_timecode_init@LIBAVUTIL_51'
    /usr/lib/libavcodec.so.54: undefined reference to `av_timecode_make_mpeg_tc_string@LIBAVUTIL_51'
    collect2: error: ld returned 1 exit status

Discussions similaires

  1. error: incompatible types when assigning
    Par quentinb56 dans le forum C
    Réponses: 2
    Dernier message: 05/12/2013, 20h31
  2. Réponses: 4
    Dernier message: 25/02/2010, 17h14
  3. [Socket]Incompatible type ?
    Par Edouard Kaiser dans le forum Réseau
    Réponses: 30
    Dernier message: 21/02/2004, 20h58
  4. Réponses: 8
    Dernier message: 21/11/2003, 18h38
  5. skip xsl
    Par pram dans le forum XMLRAD
    Réponses: 3
    Dernier message: 04/04/2003, 10h13

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