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

QSqlDatabase: QMYSQL driver not loaded / Build MySQL Plugin

Scheduled Pinned Locked Moved Solved Installation and Deployment
qmysqlsqlmoduleubuntu 14.04linux mint
32 Posts 9 Posters 43.1k Views 4 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 3 Jan 2016, 11:47 last edited by
    #20

    Hi and welcome to devnet,

    Your code is wrong, you are creating an invalid QSqlDatabase object on the heap and then you call a static function on it.

    Please take a look at QSqlDatabase's detailed documentation. There's an example there on how to do the setup and connection.

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

    R 1 Reply Last reply 3 Jan 2016, 13:07
    0
    • S SGaist
      3 Jan 2016, 11:47

      Hi and welcome to devnet,

      Your code is wrong, you are creating an invalid QSqlDatabase object on the heap and then you call a static function on it.

      Please take a look at QSqlDatabase's detailed documentation. There's an example there on how to do the setup and connection.

      R Offline
      R Offline
      RalfSchaefer
      wrote on 3 Jan 2016, 13:07 last edited by
      #21

      @SGaist Thanks for your help!! That's it. Now all works fine for me!

      1 Reply Last reply
      0
      • F Offline
        F Offline
        fikou1335
        wrote on 13 May 2016, 16:34 last edited by fikou1335
        #22

        Hi SGaist,

        I have a new problem with QMysql, everything worked fine since today, actually when I executede this line

            DB = QSqlDatabase::addDatabase( "QMYSQL");
        

        I have this error

        libgcc_s.so.1 must be installed for pthread_cancel to work
        

        I don't know why,

        the plugin is correctly compiled without error, and using the ldd he found the libgcc_s.so.1

        Can you help me please!

        1 Reply Last reply
        0
        • S Offline
          S Offline
          SGaist
          Lifetime Qt Champion
          wrote on 13 May 2016, 20:07 last edited by
          #23

          Hi and welcome to devnet,

          Which architecture are on ?

          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
          • F Offline
            F Offline
            fikou1335
            wrote on 14 May 2016, 10:04 last edited by fikou1335
            #24

            Hi and thanks for your quick response

            I m working on Ubuntu 64bits
            i got this

            Precision-M4600:/usr/local/Trolltech/Qt-4.8.6/plugins/sqldrivers$ ldd libqsqlmysql.so 	linux-vdso.so.1 =>  (0x00007ffceb314000)
            	libmysqlclient.so.18 => /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18 (0x00007f7a884c6000)
            	libQtSql.so.4 => /usr/local/Trolltech/Qt-4.8.6/lib/libQtSql.so.4 (0x00007f7a88285000)
            	libQtCore.so.4 => /usr/local/Trolltech/Qt-4.8.6/lib/libQtCore.so.4 (0x00007f7a87d91000)
            	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f7a87a7f000)
            	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f7a87868000)
            	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7a874a3000)
            	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f7a8728a000)
            	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f7a87086000)
            	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f7a86e68000)
            	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f7a86b62000)
            	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f7a8695a000)
            	/lib64/ld-linux-x86-64.so.2 (0x00007f7a88c10000)
            
            

            and this

            Precision-M4600:/usr/lib/x86_64-linux-gnu$ ldd libmysqlclient.so.18
            	linux-vdso.so.1 =>  (0x00007ffe50bc0000)
            	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fe8f4940000)
            	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fe8f473c000)
            	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fe8f451e000)
            	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fe8f4218000)
            	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe8f3e53000)
            	/lib64/ld-linux-x86-64.so.2 (0x00007fe8f5091000)
            
            

            If I comment the addBase line in my code everything works fine without connecting to the Database of course.
            when I try to list the drivers using

            QStringList driverlist =QSqlDatabase::drivers();
            

            I got this

            Databases: QSQLITE QMYSQL3 QMYSQL

            Everything works fine Monday, I checked the database, I could write on it fine,, but yesterday, it crash my application
            hope it can help!

            1 Reply Last reply
            0
            • F Offline
              F Offline
              fikou1335
              wrote on 14 May 2016, 12:43 last edited by
              #25

              I have just created a new app with the main function and it works and connect fine to my database.

              In my code I comment all the last code that I added this week and SURPRISE it works as well.
              the problem is probably due to a third library that i started to use this week. I ll check why it cause a crach to mysql o_O

              1 Reply Last reply
              0
              • S Offline
                S Offline
                SGaist
                Lifetime Qt Champion
                wrote on 14 May 2016, 19:47 last edited by
                #26

                What new library did you add ?

                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
                • F Offline
                  F Offline
                  fikou1335
                  wrote on 14 May 2016, 20:26 last edited by
                  #27

                  This one Dahua SDK

                  You can check by yourslef, they have a source example, PTZControl that works fine, but try to add

                        DB = QSqlDatabase::addDatabase( "QMYSQL");   
                  

                  and you should get the same error.

                  this sdk is used to control PTZ cams of Dahua brand.
                  I changed my code by creating a new app to control cameras and get the informations of position from my big application.

                  put this main instsead of it

                  #include <QtGui/QApplication>
                  #include "dialog.h"
                  #include <QTextCodec>
                  #include <QObject>
                  #include <QtSql/QSqlDatabase>
                  #include <QStringList>
                  #include <QtSql/QSqlQuery>
                  #include <QtSql/QSqlRecord>
                  #include <QVariant>
                  #include <iostream>
                  
                  
                  
                  int main(int argc, char *argv[])
                  {
                      QSqlDatabase DB;
                      cout <<endl<< "try connect MYSQL "<< endl;
                      try
                      {
                          DB = QSqlDatabase::addDatabase( "QMYSQL");
                      }
                      catch(...)
                      {
                          cout << "fatal error"<< endl;
                      }
                      cout << "add database"<< endl;
                      DB.setDatabaseName( "intrusiondetection" );
                      DB.setUserName( "root" );
                  
                      DB.setPassword( "root" );
                      cout << "1"<< endl;
                  
                      DB.setHostName( "" );
                  
                      cout << "try to connect"<< endl;
                      if (DB.open())
                      {
                          cout << "QMYSQL correctly connected "<< endl;
                      }
                      else
                      {
                          cout << "QMYSQL not connected "<< endl;
                      }
                  
                  
                      QApplication a(argc, argv);
                      QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
                      Dialog w;
                      w.show();
                  
                      return a.exec();
                  }
                  
                  

                  tell me if you got the same error.?

                  1 Reply Last reply
                  0
                  • S Offline
                    S Offline
                    SGaist
                    Lifetime Qt Champion
                    wrote on 14 May 2016, 20:35 last edited by
                    #28

                    One thing that you should first correct: move the database initialization code after the QApplication object creation.

                    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
                    • F Offline
                      F Offline
                      fikou1335
                      wrote on 14 May 2016, 21:11 last edited by
                      #29

                      i already tried every configuration but doesn't work! just a question by the way:
                      Is the QDbus available on the Ubuntu system since they said it is Unix only library..? I try to communicate between PTZcontrol process and my application

                      1 Reply Last reply
                      0
                      • S Offline
                        S Offline
                        SGaist
                        Lifetime Qt Champion
                        wrote on 14 May 2016, 21:23 last edited by
                        #30

                        Ubuntu is a unix based OS since it's based on the Debian distribution. QDBus is available on Linux, OS X and Windows (the two later requires that you install dbus by hand)

                        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
                        • H Offline
                          H Offline
                          Hervinsen
                          wrote on 23 Mar 2017, 12:40 last edited by
                          #31

                          Thanks to your guide, it is working on Kubuntu 16 with Qt 5.8
                          here is my output :

                          • /opt/Qt5.8.0/5.8/gcc_64/plugins/sqldrivers$ ldd libqsqlmysql.so
                            linux-vdso.so.1 => (0x00007ffcf0bf4000)
                            libQt5Sql.so.5 => /opt/Qt5.8.0/5.8/gcc_64/plugins/sqldrivers/./../../lib/libQt5Sql.so.5 (0x00007f28a7452000)
                            libQt5Core.so.5 => /opt/Qt5.8.0/5.8/gcc_64/plugins/sqldrivers/./../../lib/libQt5Core.so.5 (0x00007f28a6d32000)
                            libmysqlclient.so.20 => /usr/lib/x86_64-linux-gnu/libmysqlclient.so.20 (0x00007f28a66fa000)
                            libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f28a6372000)
                            libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f28a5fa2000)
                            libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f28a5d82000)
                            libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f28a5a72000)
                            libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f28a585a000)
                            libicui18n.so.56 => /opt/Qt5.8.0/5.8/gcc_64/plugins/sqldrivers/./../../lib/libicui18n.so.56 (0x00007f28a53ba000)
                            libicuuc.so.56 => /opt/Qt5.8.0/5.8/gcc_64/plugins/sqldrivers/./../../lib/libicuuc.so.56 (0x00007f28a5002000)
                            libicudata.so.56 => /opt/Qt5.8.0/5.8/gcc_64/plugins/sqldrivers/./../../lib/libicudata.so.56 (0x00007f28a361a000)
                            libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f28a3412000)
                            librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f28a320a000)
                            libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f28a2fea000)
                            libgthread-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0 (0x00007f28a2de2000)
                            libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f28a2aca000)
                            /lib64/ld-linux-x86-64.so.2 (0x0000560448d0b000)
                            libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f28a285a000)
                          1 Reply Last reply
                          0
                          • A Offline
                            A Offline
                            Amit Talbot
                            wrote on 23 Oct 2017, 17:52 last edited by
                            #32

                            im using qt 5.9 on mac this piece of code worked like charm for me

                            brew install mysql-connector-c
                            
                            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