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 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