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 27.3k 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.
  • S Offline
    S Offline
    SGaist
    Lifetime Qt Champion
    wrote on 27 Jan 2016, 08:03 last edited by
    #6

    Can you run ldd on Qt's MySQL plugin ?

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

    T C 2 Replies Last reply 27 Jan 2016, 09:36
    0
    • S SGaist
      27 Jan 2016, 08:03

      Can you run ldd on Qt's MySQL plugin ?

      T Offline
      T Offline
      Tas-sos
      wrote on 27 Jan 2016, 09:36 last edited by Tas-sos
      #7

      @SGaist
      this is what you mean;

      :~/Qt/5.4/gcc/plugins/sqldrivers$ ldd libqsqlmysql.so
      	linux-gate.so.1 =>  (0xb76e3000)
      	libmysqlclient_r.so.16 => not found
      	libQt5Sql.so.5 => /home/myuser/Qt/5.4/gcc/plugins/sqldrivers/./../../lib/libQt5Sql.so.5 (0xb7672000)
      	libQt5Core.so.5 => /home/myuser/Qt/5.4/gcc/plugins/sqldrivers/./../../lib/libQt5Core.so.5 (0xb712d000)
      	libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb702b000)
      	libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb6e7d000)
      	libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb6e61000)
      	libicui18n.so.53 => /home/myuser/Qt/5.4/gcc/plugins/sqldrivers/./../../lib/libicui18n.so.53 (0xb6c0a000)
      	libicuuc.so.53 => /home/myuser/Qt/5.4/gcc/plugins/sqldrivers/./../../lib/libicuuc.so.53 (0xb6a8a000)
      	libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb6a85000)
      	libgthread-2.0.so.0 => /usr/lib/i386-linux-gnu/libgthread-2.0.so.0 (0xb6a82000)
      	librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb6a79000)
      	libglib-2.0.so.0 => /lib/i386-linux-gnu/libglib-2.0.so.0 (0xb696d000)
      	libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb6926000)
      	libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb6908000)
      	/lib/ld-linux.so.2 (0xb76e4000)
      	libicudata.so.53 => /home/myuser/Qt/5.4/gcc/plugins/sqldrivers/./../../lib/libicudata.so.53 (0xb547f000)
      	libpcre.so.3 => /lib/i386-linux-gnu/libpcre.so.3 (0xb5441000)
      

      I entered the forum to tell you , this problem have just i found. xaxa and I see that what you ask (if i do not do wrong)

      1 Reply Last reply
      0
      • J Offline
        J Offline
        jsulm
        Lifetime Qt Champion
        wrote on 27 Jan 2016, 09:40 last edited by
        #8

        That's probably the problem:
        libmysqlclient_r.so.16 => not found

        It looks like the MySQL lib is not installed.

        https://forum.qt.io/topic/113070/qt-code-of-conduct

        1 Reply Last reply
        0
        • T Offline
          T Offline
          Tas-sos
          wrote on 27 Jan 2016, 09:47 last edited by
          #9

          what can I do to fix it?

          1 Reply Last reply
          0
          • J Offline
            J Offline
            jsulm
            Lifetime Qt Champion
            wrote on 27 Jan 2016, 11:57 last edited by
            #10

            Can you check whether you have libmysqlclient_r.so.16 on your system?
            On my Ubuntu 14.04 it is libmysqlclient_r.so.18

            https://forum.qt.io/topic/113070/qt-code-of-conduct

            T 1 Reply Last reply 27 Jan 2016, 13:12
            0
            • J jsulm
              27 Jan 2016, 11:57

              Can you check whether you have libmysqlclient_r.so.16 on your system?
              On my Ubuntu 14.04 it is libmysqlclient_r.so.18

              T Offline
              T Offline
              Tas-sos
              wrote on 27 Jan 2016, 13:12 last edited by
              #11

              @jsulm
              Yes I have the same too :

              :/usr/lib/i386-linux-gnu$ ls | grep libmysql
              libmysqlclient.a
              libmysqlclient_r.a
              libmysqlclient_r.so
              libmysqlclient_r.so.18
              libmysqlclient_r.so.18.0.0
              libmysqlclient.so
              libmysqlclient.so.18
              libmysqlclient.so.18.0.0
              
              
              1 Reply Last reply
              0
              • S Offline
                S Offline
                SGaist
                Lifetime Qt Champion
                wrote on 27 Jan 2016, 13:25 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 27 Jan 2016, 17:39
                0
                • S SGaist
                  27 Jan 2016, 13:25

                  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 27 Jan 2016, 17:39 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
                  • H Offline
                    H Offline
                    hskoglund
                    wrote on 27 Jan 2016, 18:22 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 27 Jan 2016, 18:44
                    0
                    • H hskoglund
                      27 Jan 2016, 18:22

                      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 27 Jan 2016, 18:44 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
                      • H Offline
                        H Offline
                        hskoglund
                        wrote on 27 Jan 2016, 18:59 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 27 Jan 2016, 19:58
                        0
                        • H hskoglund
                          27 Jan 2016, 18:59

                          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 27 Jan 2016, 19:58 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
                          • H Offline
                            H Offline
                            hskoglund
                            wrote on 27 Jan 2016, 20:29 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
                            • S Offline
                              S Offline
                              SGaist
                              Lifetime Qt Champion
                              wrote on 27 Jan 2016, 20:58 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 29 Jan 2016, 10:31
                              0
                              • S SGaist
                                27 Jan 2016, 20:58

                                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 29 Jan 2016, 10:31 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
                                • S Offline
                                  S Offline
                                  SGaist
                                  Lifetime Qt Champion
                                  wrote on 29 Jan 2016, 10:34 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 C 2 Replies Last reply 30 Jan 2016, 16:17
                                  1
                                  • S SGaist
                                    29 Jan 2016, 10:34

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

                                    T Offline
                                    T Offline
                                    Tas-sos
                                    wrote on 30 Jan 2016, 16:17 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!

                                    C G 2 Replies Last reply 12 Aug 2017, 10:13
                                    0
                                    • T Tas-sos
                                      30 Jan 2016, 16:17

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

                                      C Offline
                                      C Offline
                                      chawila
                                      wrote on 12 Aug 2017, 10:13 last edited by
                                      #23
                                      This post is deleted!
                                      1 Reply Last reply
                                      0
                                      • S SGaist
                                        29 Jan 2016, 10:34

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

                                        C Offline
                                        C Offline
                                        chawila
                                        wrote on 12 Aug 2017, 11:11 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
                                        • S Offline
                                          S Offline
                                          SGaist
                                          Lifetime Qt Champion
                                          wrote on 12 Aug 2017, 22:25 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

                                          • Login

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