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

Bases de données Discussion :

Échec de compilation du pilote MySQL sous Ubuntu avec Qt 5.10


Sujet :

Bases de données

  1. #1
    Membre actif
    Avatar de katanaenmousse
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 220
    Points : 232
    Points
    232
    Par défaut Échec de compilation du pilote MySQL sous Ubuntu avec Qt 5.10
    Bonjour,
    j'ai essayé de suivre la doc et le tuto de dourouc pour windows mais je suis sous ubuntu...
    Donc voila ce que je fais pour compiler le driver pour MySql
    1 j installe mysql
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sudo apt-get install libmysqlclient-dev
    tout se passe bien
    2 je vais dans mon dossier ~/Qt/5.10.0/Src/qtbase/src/plugins/sqldrivers/mysql
    3 je lance qmake
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    qmake "INCLUDEPATH+=/usr/include/mysql" "LIBS+=L-/usr/lib/mysql -lmysqlclient_r" mysql.pro
    et la j ai un crash
    qmake could not exec "/usr/lib/x86_64-linux-gnu/qt4/bin/qmake": no sush file or directory

    edit :

    j ai réglé ce premier problème comme ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    export QTDIR="~/Qt/5.10.0/gcc_64/"
    export PATH="$QTDIR/bin:$PATH"
    export LD_LIBRARY_PATH="$QTDIR/lib:$LD_LIBRARY_PATH"
    puis j'ai redémarré mon pc
    et on a avancé à priori
    il trouve bien qmake et ses dépendances et commence la compilation mais rencontre encore un problème : il ne trouve pas qtsqldrivers-config.pri ni la library mysq....
    j 'ai réglé le problème du .pri en compilant sqldrivers.pro situé dans ~/Qt/5.10.0/Src/qtbase/src/plugins/sqldrivers
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    qmake sqldrivers.pro
    maintenant quand je lance
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    qmake "INCLUDEPATH+=/usr/include/mysql" "LIBS+=L-/usr/lib/mysql -lmysqlclient_r" mysql.pro
    et la je n'ai plus que le message qui m'indique qu'il ne trouve pas la libray mysql.
    Le problème c'est que pour l'instant je ne sais pas où est cette maudite librairie....


    ....
    quelqu'un aurait une idée??
    merci
    KatanaEnMousse
    Une fois qu'une réponse qui vous convient a été trouvée à votre sujet, pensez à le mettre en résolu.

  2. #2
    Membre chevronné

    Homme Profil pro
    Ingénieur Hospitalier
    Inscrit en
    Juillet 2004
    Messages
    993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Hospitalier
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Points : 1 768
    Points
    1 768
    Billets dans le blog
    1
    Par défaut
    Bonjour, je suis pas sur que cela puisse débloquer les choses mais as tu bien installées les dépendances et dans l'ordre : et en dernier la lib mysql?
    Code ssh : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sudo apt-get install qt4-qmake libqt4-dev

  3. #3
    Membre actif
    Avatar de katanaenmousse
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 220
    Points : 232
    Points
    232
    Par défaut
    C est à dire?
    J ai installé seulement ce que j ai noté dans le post
    En plus des build-essential
    KatanaEnMousse
    Une fois qu'une réponse qui vous convient a été trouvée à votre sujet, pensez à le mettre en résolu.

  4. #4
    Membre chevronné

    Homme Profil pro
    Ingénieur Hospitalier
    Inscrit en
    Juillet 2004
    Messages
    993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Hospitalier
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Points : 1 768
    Points
    1 768
    Billets dans le blog
    1
    Par défaut
    Première chose que je fait lorsque je me trouve dans ce genre de situation : je cherche si tout les dépenses sont bien installé :
    Code ssh : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sudo apt-cache show libmysqlclient-dev | grep 'Depends'
    J'installe ou règles le minimum requis, et si ça marche toujours pas après avoir installé les dépendances avec les bonnes versions je m'oriente vers les repository backports de la distrib en question que e rentre dans ma config apt et je regarde si j'ai pas une version non-stable pour le package en question je regarde si j'ai les mêmes erreurs et si j'ai ses erreurs.
    J'essaye de voir si je suis pas le seul face a ce problème et fait une recherche sur l'erreur en question, si j'ai toujours rien alors :

    Je note les étapes de mes installations, ma distrib et je relève un bug que je post dans la communauté, voilà pour les précisions.

  5. #5
    Membre actif
    Avatar de katanaenmousse
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 220
    Points : 232
    Points
    232
    Par défaut
    sudo apt-cache show libmysqlclient-dev | grep 'Depends'
    me donne libmysqlclient20
    j'ai installé qt en installant l'installateur online, téléchargé sur le site de qt et ensuite j'ai installé build essential (opengl...)
    KatanaEnMousse
    Une fois qu'une réponse qui vous convient a été trouvée à votre sujet, pensez à le mettre en résolu.

  6. #6
    Membre actif
    Avatar de katanaenmousse
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 220
    Points : 232
    Points
    232
    Par défaut
    Bon
    J ai réinstallé ubuntu 16.04 64bits
    Ensuite j ai fait
    sudo apt-get install build-essential libgl1-mesa-dev

    J ai téléchargé sur le site de Qt l installateur online pour ubuntu 16.04 64bits
    J ai choisi de cocher installer les sources et j en suis là

    Ensuite j ai téléchargé mysql community server 64bits pour ubuntu sur le site mysql

    Et la j suis preneur de conseils pour la suite afin de pouvoir compiler le driver mysql pour Qt
    Quel paquet dois je installer pour mysql selon vous?

    Merci par avance
    KatanaEnMousse
    Une fois qu'une réponse qui vous convient a été trouvée à votre sujet, pensez à le mettre en résolu.

  7. #7
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 585
    Points
    188 585
    Par défaut
    As-tu aussi téléchargé et installé les "DEB Package, Development Headers" ? A priori, tu n'as besoin que de ça pour compiler…
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  8. #8
    Membre actif
    Avatar de katanaenmousse
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 220
    Points : 232
    Points
    232
    Par défaut
    Oui Dourouc
    J essaie de m inspirer de ton tuto pour Windows mais je sais pas où je me trompe
    KatanaEnMousse
    Une fois qu'une réponse qui vous convient a été trouvée à votre sujet, pensez à le mettre en résolu.

  9. #9
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 585
    Points
    188 585
    Par défaut
    Et ça fait un bail que je n'ai pas tenté de compiler de pilote pour base de données, donc je suis un peu rouillé aussi (c'est pour ça que je m'abstenais) .

    Sinon, je viens de remarquer un truc : LIBS+=L-/usr/lib/mysql, ça devrait plutôt être un -L que L-.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  10. #10
    Membre actif
    Avatar de katanaenmousse
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 220
    Points : 232
    Points
    232
    Par défaut
    Oui tu as raison
    En fait j avais bien mis -L
    Bon j ai avancé je pense mais j ai maintenant ce message lors du lancement de qmake sur mysql.pro :
    Error project : Library 'mysql' is not defined
    KatanaEnMousse
    Une fois qu'une réponse qui vous convient a été trouvée à votre sujet, pensez à le mettre en résolu.

  11. #11
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 585
    Points
    188 585
    Par défaut
    En lisant https://dev.mysql.com/doc/refman/5.6...g-clients.html, ça ne devrait pas être un -lmysqlclient ?
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  12. #12
    Membre actif
    Avatar de katanaenmousse
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 220
    Points : 232
    Points
    232
    Par défaut
    j essaierai ce soir dès que je rentre. Mais dans la doc Qt il disent :
    Vous avez besoin des fichiers d'en-tête MySQL, ainsi que de la bibliothèque partagée libmysqlclient.so.
    En fonction de votre distribution Linux, vous devrez peut-être installer un paquet qui est généralement appelé "mysql-devel".
    Dites à qmake où trouver les fichiers d'en-tête MySQL et les bibliothèques partagées
    (ici on suppose que MySQL est installé dans / usr / local)
    et exécutez make:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    cd $QTDIR/qtbase/src/plugins/sqldrivers/mysql
    qmake "INCLUDEPATH+=/usr/local/include" "LIBS+=-L/usr/local/lib -lmysqlclient_r" mysql.pro
    make
    Du coup j'avoue n'avoir pas pensé à remplacer lmysqlclient_r par libmysqlclientJ'espère que ça réglera mon soucis, je vous dis ça ce soir.
    Je compte bien y parvenir et comprendre un peu comment tout ça s'articule.
    Ensuite si j'y arrive je ferai probablement un petit tuto pour compléter le tien qui traite de Window Dourouc5

    En tout cas merci pour ton aide précieuse. Je te tiens au courant ici.
    KatanaEnMousse
    Une fois qu'une réponse qui vous convient a été trouvée à votre sujet, pensez à le mettre en résolu.

  13. #13
    Membre actif
    Avatar de katanaenmousse
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 220
    Points : 232
    Points
    232
    Par défaut
    alors mon mysql est dans /usr/bin/mysql
    j ai donc fait
    cd $QTDIR/qtbase/src/plugins/sqldrivers/mysql
    qmake "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/x86_64-linux-gnu -lmysqlclient_r" mysql.pro

    qmake "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/x86_64-linux-gnu -lmysqlclient" mysql.pro

    qmake "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/x86_64-linux-gnu/mysql -lmysqlclient_r" mysql.pro

    qmake "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/x86_64-linux-gnu/mysql -lmysqlclient" mysql.pro

    rien n'y fait ... j 'ai toujours ce message d erreur :
    project error: library 'mysql' is not defined
    je comprends pas...
    KatanaEnMousse
    Une fois qu'une réponse qui vous convient a été trouvée à votre sujet, pensez à le mettre en résolu.

  14. #14
    Membre actif
    Avatar de katanaenmousse
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 220
    Points : 232
    Points
    232
    Par défaut
    Alors rien n'y fait....
    j'avoue que ça me dépasse là...

    je vais abandonner l'idée de compiler le driver mysql pour qt

    Quelqu'un sait comment je peux faire fonctionner qt avec mysql sans devoir compiler le driver?

    Si c'est pas possible il faudra que je abandonne qt pour ce projet malheureusement, mysql m'est imposé...

    Je suis preneur de toute piste...
    MERCI à Tous
    KatanaEnMousse
    Une fois qu'une réponse qui vous convient a été trouvée à votre sujet, pensez à le mettre en résolu.

  15. #15
    Membre actif
    Avatar de katanaenmousse
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 220
    Points : 232
    Points
    232
    Par défaut
    Sur cette page : http://wiki.qt.io/Qt_5.10_Tools_and_Versions

    il est indiqué pour Ubuntu 16.04 que la version demandée de mysql est 5.7.17

    C'est la version minimale, maximale ou exactement celle là qu'il faut installer?

    D'après vous?
    KatanaEnMousse
    Une fois qu'une réponse qui vous convient a été trouvée à votre sujet, pensez à le mettre en résolu.

  16. #16
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 585
    Points
    188 585
    Par défaut
    Normalement, c'est la version avec laquelle ils font les tests d'intégration et qui est donc garantie de fonctionner.

    Apparemment, avec certaines versions de Qt, le fichier mysql.pro est foireux, certains proposent de plutôt utiliser https://bitbucket.org/aykutozdemir/m...e-view-default (à adapter pour ton système, vu la quantité de chemins en dur).
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  17. #17
    Membre actif
    Avatar de katanaenmousse
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 220
    Points : 232
    Points
    232
    Par défaut
    Merci pour ton soutien et ton aide Dourouc

    Allez je me reprends et je repars de 0 ! (tu me diras je n'étais déjà pas si loin de 0 mdrr)

    Mais au moins je repars sur quelque chose de clean.

    je vais absolument tout détailler si certains voient des conneries n'hésitez pas

    je réinstalle ubuntu 16.04 64 bits

    puis je mets à jour la liste des paquets disponibles et j'upgrade ceux déjà installés pour ensuite installer les builds essentials (nécessaire pour Qt)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get install build-essential libgl1-mesa-dev
    une fois cela fait j'installe MySql server et client la librairie client avec les sources et les fichiers communs utiles notamment pour la config
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sudo apt-get install mysql-server mysql-client libmysqlclient-dev mysql-common
    Une fois cela fait j'utilise un petit utilitaire fourni par mysql pour connaitre les différents chemins d'installation des headers et des libs notamment
    je pense que ce truc là est assez utile

    ensuite je télécharge un fichier d'installation de qt sur le site officiel
    je le place dans mon dossier personnel (/home/moi ou ~)

    je lui donne l'autorisation de s'exécuter comme un programme et je le lance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    chmod u+x nomDuFichierDInstallFourniParQt.run
    ./ nomDuFichierDInstallFourniParQt.run
    Je coche Qt 5.10.0 pour tout télécharger concernant Qt 5.10.0 y compris les sources

    Et voilà j'ai Qt et MySql d'installer

    Mais pour l'instant Qt ne charge toujours pas le driver QMYSQL

    Je vais essayer de le compiler avec le mysql.pro que tu m'as mis en lien Douroux.

    Je vous tiens au courant dès que j'ai pu le faire (ce soir probablement)

    Nhésitez pas à intervenir si vous voyez des problèmes ou des choses à faire.

    Merci
    KatanaEnMousse
    Une fois qu'une réponse qui vous convient a été trouvée à votre sujet, pensez à le mettre en résolu.

  18. #18
    Membre actif
    Avatar de katanaenmousse
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 220
    Points : 232
    Points
    232
    Par défaut
    Alors on a progressé quand je lance un configure -plugin-sql-mysql
    J ai bien SQLITE et MYSQL de détectés

    Mais quand j exécute mon programme dans QtCreator J ai un message d erreur Driver not loaded

    Je compile donc le mysql.pro contenu dans le dossier de Qt sqldrivers mysql
    Pour ça je fais un qmake mysql.pro
    Tout se passe nickel
    Puis make

    Et j obtiens un libqsqlmysql.so

    Maintenant me reste à savoir où le mettre exactement
    j'ouvre une fenêtre nautilus en sudo pour avoir les permissions d'écriture dans certains dossiers notamment /usr et ses enfants.
    je fais une recherche sur le fichier libqsqlite.so (je sais que le driver SQLITE fonctionne donc si je copie la librairie du driver QMYSQL à coté de lui ça devrait fonctionner)
    et je copie colle le fichier obtenu à la compilation dans tous les dossiers où se trouve libqsqlite.so

    Et là : CA MARCHE !!!!!
    Ok j'ai probablement copié le libqsqlmysql.so à des endroits inutiles mais j affinerai ça plus tard
    je vais essayer de prendre le temps de faire un tuto complet la dessus.
    Merci Dourouc !!!!
    KatanaEnMousse
    Une fois qu'une réponse qui vous convient a été trouvée à votre sujet, pensez à le mettre en résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Installation d'Apache + PHP 4.4.9 + MySQL sous Ubuntu
    Par amalec78 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 40
    Dernier message: 20/09/2010, 09h11
  2. Impossible de désinstaller/installer mysql sous UBUNTU
    Par rgomes dans le forum Installation
    Réponses: 2
    Dernier message: 04/03/2009, 14h43
  3. ruby-mysql sous ubuntu
    Par nina31388 dans le forum Ruby
    Réponses: 2
    Dernier message: 11/03/2008, 14h00
  4. compiler un programme C sous ubuntu
    Par Invité1 dans le forum Linux
    Réponses: 7
    Dernier message: 20/12/2006, 18h14
  5. PhpMyAdmin vs Mysql sous Ubuntu
    Par PiTiLeZarD dans le forum Installation
    Réponses: 11
    Dernier message: 12/01/2005, 22h02

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