Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. QSqlDatabase: QMYSQL driver not loaded
Forum Updated to NodeBB v4.3 + New Features

QSqlDatabase: QMYSQL driver not loaded

Scheduled Pinned Locked Moved Solved General and Desktop
qmysqlqsqldatabaseubuntu 14.04driver not load
28 Posts 6 Posters 28.4k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • SGaistS Offline
    SGaistS Offline
    SGaist
    Lifetime Qt Champion
    wrote on last edited by
    #12

    Then the easiest way is to rebuild the plugin against your installed MySQL client libraries. It's described here

    Interested in AI ? www.idiap.ch
    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

    T 1 Reply Last reply
    0
    • SGaistS SGaist

      Then the easiest way is to rebuild the plugin against your installed MySQL client libraries. It's described here

      T Offline
      T Offline
      Tas-sos
      wrote on last edited by
      #13

      @SGaist
      Could someone please guide me?
      This guide does not help that much.. :/

      There is no other way?

      1 Reply Last reply
      0
      • hskoglundH Offline
        hskoglundH Offline
        hskoglund
        wrote on last edited by
        #14

        Hi, you could try to trick Qt you've got the correct file, by using the newer version as the older one (just a guess :-):
        cp libmysqlclient_r.so.18.0.0 libmysqlclient_r.so.16

        T 1 Reply Last reply
        0
        • hskoglundH hskoglund

          Hi, you could try to trick Qt you've got the correct file, by using the newer version as the older one (just a guess :-):
          cp libmysqlclient_r.so.18.0.0 libmysqlclient_r.so.16

          T Offline
          T Offline
          Tas-sos
          wrote on last edited by
          #15

          @hskoglund
          I tried to shortcut and copy as you say now.
          but the same effect :

          code :

              QPluginLoader loader;
              loader.setFileName("/home/myuser/Qt/5.4/gcc/plugins/sqldrivers/libqsqlmysql.so");
              qDebug() << "PluginLoader worked =" << loader.load();
              qDebug() << "Plugin Loader error=" << loader.errorString();
          

          error :

          PluginLoader worked = false
          Plugin Loader error= "Cannot load library /home/myuser/Qt/5.4/gcc/plugins/sqldrivers/libqsqlmysql.so: (/usr/lib/i386-linux-gnu/libmysqlclient_r.so.16: version `libmysqlclient_16' not found (required by /home/myuser/Qt/5.4/gcc/plugins/sqldrivers/libqsqlmysql.so))"
          
          1 Reply Last reply
          0
          • hskoglundH Offline
            hskoglundH Offline
            hskoglund
            wrote on last edited by
            #16

            Ok, maybe you need to go further tricking Qt also that the libmysqlclient.so.16 is fine and well, by also copying that file:
            cp libmysqlclient.so.18.0.0 libmysqlclient.so.16

            T 1 Reply Last reply
            0
            • hskoglundH hskoglund

              Ok, maybe you need to go further tricking Qt also that the libmysqlclient.so.16 is fine and well, by also copying that file:
              cp libmysqlclient.so.18.0.0 libmysqlclient.so.16

              T Offline
              T Offline
              Tas-sos
              wrote on last edited by
              #17

              @hskoglund
              oops you're right! I had not noticed the name. But now? I have this error :

              PluginLoader worked = false
              Plugin Loader error= "Cannot load library /home/myuser/Qt/5.4/gcc/plugins/sqldrivers/libqsqlmysql.so: (/usr/lib/i386-linux-gnu/libmysqlclient_r.so.16: version `libmysqlclient_16' not found (required by /home/myuser/Qt/5.4/gcc/plugins/sqldrivers/libqsqlmysql.so))"
              

              and these files :

              :/usr/lib/i386-linux-gnu$ ls | grep libmysql
              libmysqlclient.a
              libmysqlclient_r.a
              libmysqlclient_r.so
              libmysqlclient_r.so.16
              libmysqlclient_r.so.18
              libmysqlclient_r.so.18.0.0
              libmysqlclient.so
              libmysqlclient.so.16
              libmysqlclient.so.18
              libmysqlclient.so.18.0.0
              
              
              1 Reply Last reply
              0
              • hskoglundH Offline
                hskoglundH Offline
                hskoglund
                wrote on last edited by
                #18

                Ahhh, sorry it seems the ruse didn't work all the way :-(
                It's probably a version resource or something simular in the libmysqlclient.so.18.0.0 file that says "version 18" and not "version 16".

                Anyway I think your next step is instead to try to download and install the kosher *.16, have you tried?
                sudo apt-get install libmysqlclient16

                1 Reply Last reply
                0
                • SGaistS Offline
                  SGaistS Offline
                  SGaist
                  Lifetime Qt Champion
                  wrote on last edited by
                  #19

                  You can't cheat like that on Linux ;)

                  @Tas-sos what trouble did you have to rebuild the plugin ? It's really just grab Qt's source and follow the lines of the documentation.

                  Interested in AI ? www.idiap.ch
                  Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                  T 1 Reply Last reply
                  0
                  • SGaistS SGaist

                    You can't cheat like that on Linux ;)

                    @Tas-sos what trouble did you have to rebuild the plugin ? It's really just grab Qt's source and follow the lines of the documentation.

                    T Offline
                    T Offline
                    Tas-sos
                    wrote on last edited by Tas-sos
                    #20

                    @hskoglund

                    Never mind my friend anyway thank you very much!
                    Yes I have tried it and got this:

                    E: Unable to locate the package libmysqlclient16
                    

                    or this :

                    E: Unable to locate the package libmysqlclient16-dev
                    

                    @SGaist
                    xaxaax my friend like your answer.
                    "You can't cheat like that on Linux ;)"

                    As for the guide (documentation) , basically confuses me a little and I do not know if I can follow him because for example he says to run this command :

                    cd $QTDIR/qtbase/src/plugins/sqldrivers/mysql
                    

                    But me the file structure is :

                    :~$ ls Qt 
                    5.4
                    components.xml
                    Docs
                    Examples
                    Extras
                    InstallationLog.txt
                    Licenses
                    MaintenanceTool
                    MaintenanceTool.dat
                    MaintenanceTool.ini
                    network.xml
                    Tools
                    
                    :~/Qt/5.4$ ls
                    android_armv7  gcc
                    
                    :~/Qt/5.4/gcc$ ls
                    bin
                    icudtl.dat
                    imports
                    include
                    lib
                    libexec
                    mkspecs
                    phrasebooks
                    plugins
                    qml
                    qtwebengine_resources.pak
                    translations
                    
                    :~/Qt/5.4/gcc/plugins$ ls -l
                    
                    audio
                    bearer
                    designer
                    generic
                    geoservices
                    iconengines
                    imageformats
                    mediaservice
                    platforminputcontexts
                    platforms
                    platformthemes
                    playlistformats
                    position
                    printsupport
                    qml1tooling
                    qmltooling
                    qtwebengine
                    sensorgestures
                    sensors
                    sqldrivers  <-----------
                    
                    :~/Qt/5.4/gcc/plugins$ tree sqldrivers/
                    sqldrivers/
                    ├── libqsqlite.so
                    ├── libqsqlmysql.so
                    └── libqsqlpsql.so
                    

                    the path that says, to me (as you see) does not exist. :/
                    Extra searches:

                    find  ~/Qt -name "sqldrivers"
                    /home/myuser/Qt/Tools/QtCreator/bin/plugins/sqldrivers
                    /home/myuser/Qt/5.4/gcc/plugins/sqldrivers
                    
                    $find  ~/Qt -name "qtbase"
                    -nothing-
                    
                    $ find  ~/Qt -name "mysql"
                    -nothing-
                    

                    In my system the folders with name "mysql" are only those :

                    sudo find  / -name "mysql"
                    /var/lib/mysql
                    /var/lib/mysql/mysql
                    /var/log/mysql
                    /etc/apparmor.d/abstractions/mysql
                    /etc/init.d/mysql
                    /etc/mysql
                    /usr/bin/mysql
                    /usr/lib/perl5/auto/DBD/mysql
                    /usr/lib/perl5/DBD/mysql
                    /usr/lib/mysql
                    /usr/share/maven-repo/mysql
                    /usr/share/mysql
                    /usr/share/bash-completion/completions/mysql
                    /usr/include/mysql
                    /usr/include/mysql/mysql
                    

                    and folder named "qtbase" does not exist.
                    For this reason the documentation does not help.

                    1 Reply Last reply
                    0
                    • SGaistS Offline
                      SGaistS Offline
                      SGaist
                      Lifetime Qt Champion
                      wrote on last edited by
                      #21

                      That's because you don't have the Qt sources installed. Use maintenancetool to download them.

                      Interested in AI ? www.idiap.ch
                      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                      T chawilaC 2 Replies Last reply
                      1
                      • SGaistS SGaist

                        That's because you don't have the Qt sources installed. Use maintenancetool to download them.

                        T Offline
                        T Offline
                        Tas-sos
                        wrote on last edited by
                        #22

                        @SGaist
                        Unbelievable though it was in front of me I had no idea about the "maintenancetool". I am inexperienced with using Qt not know so much about this, but I hope now to learn.

                        I ran as you said the "MaintenanceTool" located in the "Qt" folder and i installed the "sources".
                        Then I have what I needed! :D

                        The guide now is satisfactory and effective. ;)

                        Simply the guide says this path:

                        cd $QTDIR/qtbase/src/plugins/sqldrivers/mysql
                        

                        to me is this:

                        /home/myuser/Qt/5.4/Src/qtbase/src/plugins/sqldrivers/mysql
                        

                        Then because I have and version "Qt4" this command:

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

                        i run in this way:

                        /home/myuser/Qt/5.4/gcc/bin/qmake "INCLUDEPATH+=/usr/local/include" "LIBS+=-L/usr/local/lib -lmysqlclient_r" mysql.pro
                        

                        All now work perfectly! I'm very happy about that! I Struggled a lot with this issue and does not need nor expecting.
                        Thank you very very much my friends! I am indebted to your with your efficient and fast help!

                        THANK YOU!

                        chawilaC G 2 Replies Last reply
                        0
                        • T Tas-sos

                          @SGaist
                          Unbelievable though it was in front of me I had no idea about the "maintenancetool". I am inexperienced with using Qt not know so much about this, but I hope now to learn.

                          I ran as you said the "MaintenanceTool" located in the "Qt" folder and i installed the "sources".
                          Then I have what I needed! :D

                          The guide now is satisfactory and effective. ;)

                          Simply the guide says this path:

                          cd $QTDIR/qtbase/src/plugins/sqldrivers/mysql
                          

                          to me is this:

                          /home/myuser/Qt/5.4/Src/qtbase/src/plugins/sqldrivers/mysql
                          

                          Then because I have and version "Qt4" this command:

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

                          i run in this way:

                          /home/myuser/Qt/5.4/gcc/bin/qmake "INCLUDEPATH+=/usr/local/include" "LIBS+=-L/usr/local/lib -lmysqlclient_r" mysql.pro
                          

                          All now work perfectly! I'm very happy about that! I Struggled a lot with this issue and does not need nor expecting.
                          Thank you very very much my friends! I am indebted to your with your efficient and fast help!

                          THANK YOU!

                          chawilaC Offline
                          chawilaC Offline
                          chawila
                          wrote on last edited by
                          #23
                          This post is deleted!
                          1 Reply Last reply
                          0
                          • SGaistS SGaist

                            That's because you don't have the Qt sources installed. Use maintenancetool to download them.

                            chawilaC Offline
                            chawilaC Offline
                            chawila
                            wrote on last edited by
                            #24

                            @SGaist said in QSqlDatabase: QMYSQL driver not loaded:

                            That's because you don't have the Qt sources installed. Use maintenancetool to download them.

                            Can someone tell please me what are QT sources..

                            1 Reply Last reply
                            0
                            • SGaistS Offline
                              SGaistS Offline
                              SGaist
                              Lifetime Qt Champion
                              wrote on last edited by SGaist
                              #25

                              Hi,

                              As silly as it may sound: that's the sources of the Qt library.

                              Interested in AI ? www.idiap.ch
                              Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                              1 Reply Last reply
                              0
                              • SGaistS SGaist

                                Can you run ldd on Qt's MySQL plugin ?

                                chawilaC Offline
                                chawilaC Offline
                                chawila
                                wrote on last edited by
                                #26
                                This post is deleted!
                                1 Reply Last reply
                                0
                                • T Tas-sos

                                  @SGaist
                                  Unbelievable though it was in front of me I had no idea about the "maintenancetool". I am inexperienced with using Qt not know so much about this, but I hope now to learn.

                                  I ran as you said the "MaintenanceTool" located in the "Qt" folder and i installed the "sources".
                                  Then I have what I needed! :D

                                  The guide now is satisfactory and effective. ;)

                                  Simply the guide says this path:

                                  cd $QTDIR/qtbase/src/plugins/sqldrivers/mysql
                                  

                                  to me is this:

                                  /home/myuser/Qt/5.4/Src/qtbase/src/plugins/sqldrivers/mysql
                                  

                                  Then because I have and version "Qt4" this command:

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

                                  i run in this way:

                                  /home/myuser/Qt/5.4/gcc/bin/qmake "INCLUDEPATH+=/usr/local/include" "LIBS+=-L/usr/local/lib -lmysqlclient_r" mysql.pro
                                  

                                  All now work perfectly! I'm very happy about that! I Struggled a lot with this issue and does not need nor expecting.
                                  Thank you very very much my friends! I am indebted to your with your efficient and fast help!

                                  THANK YOU!

                                  G Offline
                                  G Offline
                                  Gualtix
                                  wrote on last edited by Gualtix
                                  #27

                                  @SGaist @Tas-sos Im just Right where you are, usgin make... put i have this error:
                                  'MySql Lib is Not Defined'

                                  0_1558483350957_f0fa2c95-6be7-4055-8355-c23fad355ed9-image.png

                                  Help Please!!!

                                  1 Reply Last reply
                                  0
                                  • SGaistS Offline
                                    SGaistS Offline
                                    SGaist
                                    Lifetime Qt Champion
                                    wrote on last edited by
                                    #28

                                    @Gualtix Hi and welcome to devnet, you are not following the current documented procedure.

                                    Interested in AI ? www.idiap.ch
                                    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                    1 Reply Last reply
                                    1

                                    • Login

                                    • Login or register to search.
                                    • First post
                                      Last post
                                    0
                                    • Categories
                                    • Recent
                                    • Tags
                                    • Popular
                                    • Users
                                    • Groups
                                    • Search
                                    • Get Qt Extensions
                                    • Unsolved