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. Deployed app not connecting to mysql on other Macs
Forum Updated to NodeBB v4.3 + New Features

Deployed app not connecting to mysql on other Macs

Scheduled Pinned Locked Moved Solved General and Desktop
8 Posts 2 Posters 663 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.
  • J Offline
    J Offline
    JSher
    wrote on last edited by
    #1

    Hello,
    I have an app deployed using macdeployqt tool. It works fine on the mac it was created on but when used on another mac, I get the error Driver not loaded.

    I looked in the MyApp.app and ran otool -L on libqsqlmysql.dylib. It looks to be reaching out for libmysqlclient.21.dylib in the /usr/local/mysql-8.0.20-macos10.15-x86_64/lib directory instead of the app?

    It did put the libmysqlclient.21.dylib in the package but in the frameworks directory. It is looking for 2 librarys in the @loader_path directory, libssl.1.1.dylib and libcrypto.1.1.dylib.

    I am not sure if these are the issues as I am a noob on Macs.

    Any help would be appreciated.

    Thanks,
    --James

    1 Reply Last reply
    0
    • J Offline
      J Offline
      JSher
      wrote on last edited by
      #8

      @JSher said in Deployed app not connecting to mysql on other Macs:

      2

      Scratch that. Those WERE in my mysql directory (thanks @SGaist ).....find could not find them for some reason....added them to the /Frameworks directory and BAM....working.

      Thanks,
      --James

      1 Reply Last reply
      0
      • SGaistS Offline
        SGaistS Offline
        SGaist
        Lifetime Qt Champion
        wrote on last edited by
        #2

        Hi,

        The path should have been corrected to point inside the bundle. You can still do it by hand though.

        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
        • J Offline
          J Offline
          JSher
          wrote on last edited by
          #3

          @SGaist said in Deployed app not connecting to mysql on other Macs:

          The path should have been corrected to point inside the bundle. You can still do it by hand though.

          How do I do it by hand? Do you have some documentation? And do I need to find those 2 libs and add them as well?

          Thanks,
          --James

          1 Reply Last reply
          0
          • J Offline
            J Offline
            JSher
            wrote on last edited by
            #4

            @SGaist

            Just for a clear picture, here is otool:

            Ghosts-iMac:sqldrivers ghost$ otool -L libqsqlmysql.dylib

            libqsqlmysql.dylib:

            libqsqlmysql.dylib (compatibility version 0.0.0, current version 0.0.0)
            
            @rpath/QtSql.framework/Versions/5/QtSql (compatibility version 5.9.0, current version 5.9.9)
            
            @rpath/QtCore.framework/Versions/5/QtCore (compatibility version 5.9.0, current version 5.9.9)
            
            /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration (compatibility version 1.0.0, current version 1.0.0)
            
            /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
            
            /usr/local/mysql-8.0.20-macos10.15-x86_64/lib/libmysqlclient.21.dylib (compatibility version 20.0.0, current version 20.0.0)
            
            /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 400.9.0)
            
            /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.0.0)
            

            Ghosts-iMac:sqldrivers ghost$ otool -L libmysqlclient.21.dylib

            libmysqlclient.21.dylib:

            @rpath/libmysqlclient.21.dylib (compatibility version 21.0.0, current version 21.0.0)
            
            @loader_path/libssl.1.1.dylib (compatibility version 1.1.0, current version 1.1.0)
            
            @loader_path/libcrypto.1.1.dylib (compatibility version 1.1.0, current version 1.1.0)
            
            /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 800.7.0)
            
            /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1281.0.0)
            
            1 Reply Last reply
            0
            • SGaistS Offline
              SGaistS Offline
              SGaist
              Lifetime Qt Champion
              wrote on last edited by
              #5

              To do it by hand, use install_name_tool (that's what macdeployqt uses)

              As for the OpenSSL librairies, they are likely provided with your MySQL distribution.

              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
              • J Offline
                J Offline
                JSher
                wrote on last edited by
                #6

                @SGaist said in Deployed app not connecting to mysql on other Macs:

                To do it by hand, use install_name_tool (that's what macdeployqt uses)

                Thats what I figured but I cannot figure out the commands for install_name_tool and when to use them...

                I have a couple of questions if you would be so kind:

                1: It is possible for you to give me an example of install_name_tool line to fix libqsqlmysql.dylib to point to the frameworks directory in the .app instead of /usr/local/mysql-8.0.20-macos10.15-x86_64/lib ?

                2: When would I execute these commands? Once the .app is built?

                Thanks a ton,
                --James

                1 Reply Last reply
                0
                • J Offline
                  J Offline
                  JSher
                  wrote on last edited by
                  #7

                  @SGaist What I have done so far, still not working...

                  used install_name_tool -change /usr/ocal/mysql-8.0.20-macos10.15-x86_64/lib/libmysqlclient.21.dylib @executable_path/../Frameworks/libmysqlclient.21.dylib libqsqlmysql.dylib

                  This made libqsqlmysql.dylib point to @executable_path/../Frameworks/libmysqlclient.21.dylib which I am hopeing is the right spot as the .app structure is:
                  contents-Frameworks-libmysqlclient.21.dylib
                  -plugins-sqldrivers-libqsqlmysql.dylib

                  Still does not work. I checked on my system for the libraries libssl.1.1.dylib and libcrypto.1.1.dylib and neither are there so I did not add as they work without.

                  Any ideas where I could check why the driver is not loading?

                  Thanks,
                  --James

                  1 Reply Last reply
                  0
                  • J Offline
                    J Offline
                    JSher
                    wrote on last edited by
                    #8

                    @JSher said in Deployed app not connecting to mysql on other Macs:

                    2

                    Scratch that. Those WERE in my mysql directory (thanks @SGaist ).....find could not find them for some reason....added them to the /Frameworks directory and BAM....working.

                    Thanks,
                    --James

                    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