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. Cross-compile MySQL driver for RPi3
Forum Updated to NodeBB v4.3 + New Features

Cross-compile MySQL driver for RPi3

Scheduled Pinned Locked Moved Unsolved Installation and Deployment
16 Posts 3 Posters 5.7k Views 1 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.
  • E Offline
    E Offline
    endr
    wrote on last edited by
    #7

    Yes, I run it from Qt to the remote RPi3. The application runs flawless if I use the Desktop kit. When I use the kit I've made for the Raspberry pi 3 (that has always worked fine) I get that error

    jsulmJ 1 Reply Last reply
    0
    • E endr

      Yes, I run it from Qt to the remote RPi3. The application runs flawless if I use the Desktop kit. When I use the kit I've made for the Raspberry pi 3 (that has always worked fine) I get that error

      jsulmJ Offline
      jsulmJ Offline
      jsulm
      Lifetime Qt Champion
      wrote on last edited by
      #8

      @endr Does this file exist on your target device: libmysqlclient.so.18 ? If so where?

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

      1 Reply Last reply
      0
      • E Offline
        E Offline
        endr
        wrote on last edited by
        #9

        If I copy :

        libmysqlclient.a
        libmysqlclient_r.a 
        libmysqlclient_r.so 
        libmysqlclient_r.so.18 
        ibmysqlclient_r.so.18.0.0
        libmysqlclient.so 
        libmysqlclient.so.18 
        libmysqlclient.so.18.0.0
        

        to /usr/lib on my target device I get:

        QSqlDatabase: QMYSQL driver not loaded
        QSqlDatabase: available drivers: 
        

        otherwise, without copying the shared libraries on the remote device (trying to crosscompile them from the local machine) I keep getting:

        /opt/MySqlTest/bin/MySqlTest: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
        Application finished with exit code 127.
        

        What can I do?

        jsulmJ 1 Reply Last reply
        0
        • E endr

          If I copy :

          libmysqlclient.a
          libmysqlclient_r.a 
          libmysqlclient_r.so 
          libmysqlclient_r.so.18 
          ibmysqlclient_r.so.18.0.0
          libmysqlclient.so 
          libmysqlclient.so.18 
          libmysqlclient.so.18.0.0
          

          to /usr/lib on my target device I get:

          QSqlDatabase: QMYSQL driver not loaded
          QSqlDatabase: available drivers: 
          

          otherwise, without copying the shared libraries on the remote device (trying to crosscompile them from the local machine) I keep getting:

          /opt/MySqlTest/bin/MySqlTest: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
          Application finished with exit code 127.
          

          What can I do?

          jsulmJ Offline
          jsulmJ Offline
          jsulm
          Lifetime Qt Champion
          wrote on last edited by jsulm
          #10

          @endr You can try to start your app like this:

          QT_DEBUG_PLUGINS=1 && ./my_app
          

          You will get a lot of output, post it here.

          The libraries you're copying: are those for your target (ARM)?

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

          1 Reply Last reply
          0
          • E Offline
            E Offline
            endr
            wrote on last edited by
            #11

            @jsulm
            I connect in ssh to the RPi3, start the application as you suggested:

            root@rpi3:/opt/MySqlTest/bin# QT_DEBUG_PLUGINS=1 && ./MySqlTest 
            ./MySqlTest: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
            
            

            If I copy those shared libraries (from the libmysqlclient-dev package downloaded on a Raspbian OS) to /usr/lib I get this:

            root@rpi3:/opt/MySqlTest/bin# QT_DEBUG_PLUGINS=1 && ./MySqlTest 
            Unable to query physical screen size, defaulting to 100 dpi.
            To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).
            QSqlDatabase: QMYSQL driver not loaded
            QSqlDatabase: available drivers: 
            
            jsulmJ 1 Reply Last reply
            0
            • E endr

              @jsulm
              I connect in ssh to the RPi3, start the application as you suggested:

              root@rpi3:/opt/MySqlTest/bin# QT_DEBUG_PLUGINS=1 && ./MySqlTest 
              ./MySqlTest: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
              
              

              If I copy those shared libraries (from the libmysqlclient-dev package downloaded on a Raspbian OS) to /usr/lib I get this:

              root@rpi3:/opt/MySqlTest/bin# QT_DEBUG_PLUGINS=1 && ./MySqlTest 
              Unable to query physical screen size, defaulting to 100 dpi.
              To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).
              QSqlDatabase: QMYSQL driver not loaded
              QSqlDatabase: available drivers: 
              
              jsulmJ Offline
              jsulmJ Offline
              jsulm
              Lifetime Qt Champion
              wrote on last edited by
              #12

              @endr What does

              ldd PATH_TO_YOUR_QT/plugins/sqldrivers/libqsqlmysql.so
              

              on your RaspberryPi say?

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

              1 Reply Last reply
              1
              • E Offline
                E Offline
                endr
                wrote on last edited by
                #13

                There is no sqldrivers directory in qt5/plugins, just those:

                root@rpi3:/usr/lib/qt5/plugins# ls -l 
                total 68
                drwxr-xr-x 2 root root 4096 Jun 14 10:51 bearer
                drwxr-xr-x 2 root root 4096 Jun 14 11:44 canbus
                drwxr-xr-x 2 root root 4096 Jun 14 10:51 egldeviceintegrations
                drwxr-xr-x 2 root root 4096 Jun 14 10:51 generic
                drwxr-xr-x 2 root root 4096 Jun 14 12:23 geoservices
                drwxr-xr-x 2 root root 4096 Jun 14 11:43 iconengines
                drwxr-xr-x 2 root root 4096 Jun 14 12:33 imageformats
                drwxr-xr-x 2 root root 4096 Jun 14 12:24 lipi_toolkit
                drwxr-xr-x 2 root root 4096 Jun 14 12:08 mediaservice
                

                What do I need to download?

                jsulmJ 1 Reply Last reply
                0
                • E endr

                  There is no sqldrivers directory in qt5/plugins, just those:

                  root@rpi3:/usr/lib/qt5/plugins# ls -l 
                  total 68
                  drwxr-xr-x 2 root root 4096 Jun 14 10:51 bearer
                  drwxr-xr-x 2 root root 4096 Jun 14 11:44 canbus
                  drwxr-xr-x 2 root root 4096 Jun 14 10:51 egldeviceintegrations
                  drwxr-xr-x 2 root root 4096 Jun 14 10:51 generic
                  drwxr-xr-x 2 root root 4096 Jun 14 12:23 geoservices
                  drwxr-xr-x 2 root root 4096 Jun 14 11:43 iconengines
                  drwxr-xr-x 2 root root 4096 Jun 14 12:33 imageformats
                  drwxr-xr-x 2 root root 4096 Jun 14 12:24 lipi_toolkit
                  drwxr-xr-x 2 root root 4096 Jun 14 12:08 mediaservice
                  

                  What do I need to download?

                  jsulmJ Offline
                  jsulmJ Offline
                  jsulm
                  Lifetime Qt Champion
                  wrote on last edited by
                  #14

                  @endr How did you install Qt on RaspberryPi?

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

                  1 Reply Last reply
                  0
                  • E Offline
                    E Offline
                    endr
                    wrote on last edited by
                    #15

                    I'm using Yocto, Qt5 is installed via the meta-qt5 layer during the bitbaking of the image

                    jsulmJ 1 Reply Last reply
                    0
                    • E endr

                      I'm using Yocto, Qt5 is installed via the meta-qt5 layer during the bitbaking of the image

                      jsulmJ Offline
                      jsulmJ Offline
                      jsulm
                      Lifetime Qt Champion
                      wrote on last edited by
                      #16

                      @endr Well, then I don't know what exactly you need to install. Something with qt and mysql. On Ubuntu it is libqt5sql5-mysql package.

                      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