Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    Solved Set-up MariaDB library file location programmatically?

    General and Desktop
    7
    85
    4479
    Loading More Posts
    • 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.
    • SPlatten
      SPlatten last edited by SPlatten

      I'm developing on a MAC. I have MariaDB version 10.4.6 Homebrew installed on my MAC. This is installed in:

      /usr/local/Cellar/mariadb/10.4.6_1
      

      It looks like the library I need to reference is:

      /usr/local/Cellar/mariadb/10.4.6_1/lib/libmariadb.dylib
      

      Can anyone help me to set-up the mySQL / MariaDB driver as they are the same thing on a MAC?

      If possible I'd like to incorporate this into my application and pass any configurable requirements or parameters via the command line.

      Sorry about creating another thread, I did search the existing MYSQL for Qt thread, however its locked and I didn't see anything relevant for a MAC.

      To be clear, when I launch my application I currently get:

      Warning:QSqlDatabase: QMYSQL driver not loaded
      Warning:QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7
      

      I've tried:

      install_name_tool -change /usr/local/Cellar/mariadb/10.4.6_1/lib/libmariadb.dylib /Users/simonplatten/Qt/5.14.2/clang_64/plugins/sqldrivers/libqsqlmysql.dylib
      

      This results in:

      Usage: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool [-change old new] ... [-rpath old new] ... [-add_rpath new] ... [-delete_rpath old] ... [-id name] input
      

      Kind Regards,
      Sy

      jsulm 1 Reply Last reply Reply Quote 0
      • B
        Bonnie last edited by

        Hey, Just in case...
        Did you remove "config.cache" before you run qmake again?

        hskoglund 1 Reply Last reply Reply Quote 1
        • jsulm
          jsulm Lifetime Qt Champion @SPlatten last edited by

          @SPlatten First thing in such situations is to start your app with QT_DEBUG_PLUGINS set (https://doc.qt.io/qt-5/deployment-plugins.html#debugging-plugins).
          Also, this questions was asked here many many times, you should use the search function.

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

          JonB 1 Reply Last reply Reply Quote 1
          • JonB
            JonB @jsulm last edited by

            @jsulm
            I could be wrong, but I think in this case it won't help? That is good if the QMYSQL driver not loaded is among the available drivers, but here OP has not got that far, I don't think he has managed to install the driver?

            jsulm 1 Reply Last reply Reply Quote 0
            • jsulm
              jsulm Lifetime Qt Champion @JonB last edited by

              @JonB Yes, you're right. It looks like the driver is not available at all.

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

              1 Reply Last reply Reply Quote 0
              • SPlatten
                SPlatten last edited by

                Is there anything you need from me in terms of information?

                This is from the folder:

                /usr/local/Cellar/mariadb/10.4.6_1/lib
                

                ls -l:

                -rw-r--r--   1 simonplatten  staff  230704 28 Sep  2019 libmariadb.3.dylib
                lrwxr-xr-x   1 simonplatten  staff      18 17 Jun  2019 libmariadb.dylib -> libmariadb.3.dylib
                -rw-r--r--   1 simonplatten  staff  336264 17 Jun  2019 libmariadbclient.a
                lrwxr-xr-x   1 simonplatten  staff      18 17 Jun  2019 libmysqlclient.a -> libmariadbclient.a
                lrwxr-xr-x   1 simonplatten  staff      18 17 Jun  2019 libmysqlclient.dylib -> libmariadb.3.dylib
                lrwxr-xr-x   1 simonplatten  staff      18 17 Jun  2019 libmysqlclient_r.a -> libmariadbclient.a
                lrwxr-xr-x   1 simonplatten  staff      18 17 Jun  2019 libmysqlclient_r.dylib -> libmariadb.3.dylib
                -r--r--r--   1 simonplatten  staff   12400 17 Jun  2019 libmysqlservices.a
                drwxr-xr-x   3 simonplatten  staff      96 28 Sep  2019 pkgconfig
                drwxr-xr-x  49 simonplatten  staff    1568 17 Jun  2019 plugin
                

                Kind Regards,
                Sy

                jsulm 1 Reply Last reply Reply Quote 0
                • jsulm
                  jsulm Lifetime Qt Champion @SPlatten last edited by

                  @SPlatten I think you need to build Qt MySQL plug-in first.

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

                  1 Reply Last reply Reply Quote 2
                  • SPlatten
                    SPlatten last edited by SPlatten

                    Thank you, do you have a link that details how?

                    I'm downloading the MariaDB ODBC driver for MAC now or is this not the same?

                    mariadb-connector-odbc-3.1.9-osx-x86_64

                    Kind Regards,
                    Sy

                    jsulm 1 Reply Last reply Reply Quote 0
                    • jsulm
                      jsulm Lifetime Qt Champion @SPlatten last edited by

                      @SPlatten https://doc.qt.io/qt-5/sql-driver.html
                      https://stackoverflow.com/questions/6483523/qt-how-to-getcompile-mysql-driver

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

                      1 Reply Last reply Reply Quote 2
                      • SPlatten
                        SPlatten last edited by SPlatten

                        @jsulm , thank you.

                        So already I'm struggling with the answer on: https://stackoverflow.com/questions/6483523/qt-how-to-getcompile-mysql-driver

                        I cannot find the driver sources, my Qt path looks like this:

                        /Users/simonplatten/qt/5.14.2/Src
                        

                        There is no plugins folder in there, the only plugins folder is:

                        /Users/simonplatten/qt/5.14.2/clang_64/plugins
                        

                        That doesn't contain a mysql folder. I just did:

                        sudo find / -name sqldrivers/mysql
                        

                        Nothing was found on my system.

                        I've tried to follow the instructions on https://doc.qt.io/qt-5/sql-driver.html#qmysql
                        I fall at the first hurdle, I don't have the environment variable QTDIR set and I think my installation of MariaDB is complicated by the fact it was installed using Homebrew.

                        Kind Regards,
                        Sy

                        jsulm JonB 2 Replies Last reply Reply Quote 0
                        • jsulm
                          jsulm Lifetime Qt Champion @SPlatten last edited by

                          @SPlatten said in Set-up MariaDB library file location programmatically?:

                          I cannot find the driver sources

                          Did you install Qt sources?

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

                          1 Reply Last reply Reply Quote 0
                          • SPlatten
                            SPlatten last edited by

                            @jsulm, I don't think so, how do I do that?

                            Kind Regards,
                            Sy

                            jsulm 1 Reply Last reply Reply Quote -1
                            • jsulm
                              jsulm Lifetime Qt Champion @SPlatten last edited by

                              @SPlatten said in Set-up MariaDB library file location programmatically?:

                              how do I do that?

                              If you used online installer you can use Maintenance Tool...

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

                              SPlatten 1 Reply Last reply Reply Quote 0
                              • SPlatten
                                SPlatten @jsulm last edited by

                                @jsulm , I did exactly that before posting my reply, I didn't see any option in it for source code.

                                Kind Regards,
                                Sy

                                jsulm 1 Reply Last reply Reply Quote 0
                                • jsulm
                                  jsulm Lifetime Qt Champion @SPlatten last edited by

                                  @SPlatten https://www.qt.io/download-open-source

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

                                  SPlatten 1 Reply Last reply Reply Quote 0
                                  • SPlatten
                                    SPlatten @jsulm last edited by

                                    @jsulm , I'm confused now, the link posted is to the Open source page. What if I don't intend my application to be open source, once its completed I intend to purchase a license before distribution. Can I build a mySQL driver for Qt without open source?

                                    Kind Regards,
                                    Sy

                                    jsulm 1 Reply Last reply Reply Quote 0
                                    • jsulm
                                      jsulm Lifetime Qt Champion @SPlatten last edited by

                                      @SPlatten said in Set-up MariaDB library file location programmatically?:

                                      once its completed I intend to purchase a license before distribution

                                      I'm not sure QtCompany will agree with that.
                                      You should contact them.

                                      There are many ways to get the source code. For example here: https://download.qt.io/archive/qt/5.15/5.15.0/single/
                                      Or using Git as described here: https://wiki.qt.io/Get_the_Source

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

                                      1 Reply Last reply Reply Quote 1
                                      • hskoglund
                                        hskoglund last edited by

                                        Hi, it might be easier if you use Qt's ODBC plugin (libqsqlodbc.dylib) together with the MariaDB Connector/ODBC

                                        1 Reply Last reply Reply Quote 0
                                        • SPlatten
                                          SPlatten last edited by

                                          @jsulm , if I'm developing it on my own system and no one else is involved or using it, how would this be against any license?

                                          Kind Regards,
                                          Sy

                                          jsulm 1 Reply Last reply Reply Quote 0
                                          • SPlatten
                                            SPlatten last edited by SPlatten

                                            @hskoglund , thank you, I'll look into it. It seems its available for just about every operating system except MAC.

                                            Kind Regards,
                                            Sy

                                            1 Reply Last reply Reply Quote 0
                                            • jsulm
                                              jsulm Lifetime Qt Champion @SPlatten last edited by

                                              @SPlatten I'm not a lawyer and not working for QtCompany (that's why I suggested to ask the company).
                                              You say: you are now developing an app and you want to release it later as closed source. And you want to buy Qt license when you want to release the app. My point was: QtCompany could say that you actually need the commercial license from the beginning as you're developing a closed source application which is going to be distributed. I may be wrong here, but it is worth checking.

                                              If you're not going to distribute your app then there is no issue.

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

                                              SPlatten J.Hilk 2 Replies Last reply Reply Quote 2
                                              • First post
                                                Last post