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

Plateformes Discussion :

[Raspberry Pi] Compilation croisée : bibliothèques dynamiques


Sujet :

Plateformes

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2004
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2004
    Messages : 541
    Par défaut [Raspberry Pi] Compilation croisée : bibliothèques dynamiques
    Bonjour,
    Problème: je n'arrive pas à exécuter une application Qt gui sur ma Rpi (Raspberry pi). Voici le message d'erreur:
    error while loading shared libraries: libQtWidgets.so.5: cannot open shared object file: No such file or directory
    Je vous présente comment j'ai procédé, pour que vous puissiez voir ce qui ne va pas dans ma config:
    j'ai installé Qt creator sur mon PC qui fait tourner une distrib Ubuntu J'y ai installé la chaîne de compilation pour arm.

    Pour une application console, tout va bien: le programme compile bien, l'exécutable est chargé dans la Rpi et l'exécution se passe sans problème.
    Pour une appli gui, j'ai apparemment un problème de librairie dynamique. J'ai donc chargé celles-ci sur la Rpi, j'ai créé un fichier Qt.conf dans /etc/ld.so.conf.d dans lequel je précise le chemin des .so de Qt, puis j'ai lancé ldconfig.
    J'ai ensuite vérifié si les librairies étaient bien présentes avec la commande "ldconfig -v". Voici un extrait du résultat:
    /opt/qt5/lib:
    libQtCore.so.5 -> libQtCore.so.5.0.0
    libQtWidgets.so.5 -> libQtWidgets.so.5.0.0
    libQtQuick.so.5 -> libQtQuick.so.5.0.0
    libQtWidger.so.5 est donc bien dans le chemin! Alors pourquoi n'est-elle pas chargée lorsque je lance l'application?

    Merci pour vos lumières.

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


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

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 163
    Billets dans le blog
    153
    Par défaut
    Bonjour,

    Effectuez un "file" sur la bibliothèque dites manquante, afin de vérifier qu'elle est bien compilée pour le ARM, sinon, le RPi ne la chargera pas.
    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
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2004
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2004
    Messages : 541
    Par défaut
    Tout d'abord merci pour la réponse.

    Ces librairies sont issue de qtonpi, avec lequel j'ai configuré la chaine de développement, donc à priori ce sont les bonnes librairies.
    Voici ce que génère la commande file:
    pi@raspi1 /opt/qt5/lib $ file libQtWidgets.so.5
    libQtWidgets.so.5: symbolic link to `libQtWidgets.so.5.0.0'
    pi@raspi1 /opt/qt5/lib $ file libQtWidgets.so.5.0.0
    libQtWidgets.so.5.0.0: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked, BuildID[sha1]=0x25e772226d957760b364cf9cc6c37911d97837a3, stripped
    Ça me semble correct.

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


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

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 163
    Billets dans le blog
    153
    Par défaut
    Si vous spécifier la variable LD_LIBRARY_PATH pour indiquer le dossier contenant le chemin menant aux .so de Qt, est-ce que cela change quelque chose (exemple :
    LD_LIBRARY_PATH=/opt/qt5/lib ./exec
    )
    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.

  5. #5
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2004
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2004
    Messages : 541
    Par défaut
    je précise que je suis loin d'être expert en GNU/linux.
    Mais je me suis pas mal renseigné avant de poster et j'avais cru comprendre que le fichier ld.so.conf était une meilleure solution qu'utiliser la variable LD_LIBRARY_PATH.

    Quoiqu'il en soit, il fallait en avoir le cœur net et j'ai essayé. Le résultat est identique.

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


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

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 163
    Billets dans le blog
    153
    Par défaut
    Hum, je manque d'idée, il va falloir trouver une méthode pour afficher des informations supplémentaires.
    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.

Discussions similaires

  1. Réponses: 5
    Dernier message: 22/05/2012, 11h48
  2. CMake : compilation de bibliothèques dynamiques
    Par sunmat dans le forum Systèmes de compilation
    Réponses: 1
    Dernier message: 02/11/2011, 22h24
  3. Réponses: 1
    Dernier message: 01/12/2007, 21h03
  4. Problème avec la "Gestion des bibliothèques dynamiques"
    Par GoustiFruit dans le forum Delphi
    Réponses: 15
    Dernier message: 31/05/2006, 09h54
  5. Compiler une bibliothèque
    Par petdelascar dans le forum Windows
    Réponses: 1
    Dernier message: 10/12/2005, 17h42

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