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. linuxdeployqt ldd Error
QtWS25 Last Chance

linuxdeployqt ldd Error

Scheduled Pinned Locked Moved Unsolved Installation and Deployment
14 Posts 4 Posters 11.4k Views
  • 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.
  • M Offline
    M Offline
    ModelTech
    wrote on 11 Jul 2017, 21:46 last edited by ModelTech 7 Nov 2017, 21:49
    #1

    Thanks to some other posts, I was happy to find linuxdeplyqt. However, when I try to use it for my application, I get the error that ldd cannot find one of my libraries belonging to the application. The application works perfectly fine when building & running from Qt Creator but the output of ldd is as shown below.

    linux-vdso.so.1 =>  (0x00007ffdf79cf000)
    	libdfmcore.so.1 => not found
    	libQt5Widgets.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 (0x00007f59fd664000)
    	libQt5Gui.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 (0x00007f59fd11c000)
    	libQt5Core.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 (0x00007f59fcc46000)
    	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f59fc8c4000)
    	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f59fc5ba000)
    	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f59fc3a4000)
    	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f59fbfda000)
    	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f59fbdbc000)
    	libgobject-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007f59fbb69000)
    	libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f59fb858000)
    	libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f59fb51d000)
    	libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007f59fb2f8000)
    	libharfbuzz.so.0 => /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0 (0x00007f59fb09a000)
    	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f59fae7f000)
    	libGL.so.1 => /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 (0x00007f59fac0b000)
    	libicui18n.so.55 => /usr/lib/x86_64-linux-gnu/libicui18n.so.55 (0x00007f59fa7a9000)
    	libicuuc.so.55 => /usr/lib/x86_64-linux-gnu/libicuuc.so.55 (0x00007f59fa414000)
    	libpcre16.so.3 => /usr/lib/x86_64-linux-gnu/libpcre16.so.3 (0x00007f59fa1ae000)
    	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f59f9faa000)
    	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f59f9da1000)
    	/lib64/ld-linux-x86-64.so.2 (0x000056242837f000)
    	libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007f59f9b99000)
    	libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f59f9928000)
    	libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f59f9706000)
    	libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f59f945c000)
    	libgraphite2.so.3 => /usr/lib/x86_64-linux-gnu/libgraphite2.so.3 (0x00007f59f9236000)
    	libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f59f900d000)
    	libxcb-dri3.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri3.so.0 (0x00007f59f8e0a000)
    	libxcb-present.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-present.so.0 (0x00007f59f8c06000)
    	libxcb-sync.so.1 => /usr/lib/x86_64-linux-gnu/libxcb-sync.so.1 (0x00007f59f89ff000)
    	libxshmfence.so.1 => /usr/lib/x86_64-linux-gnu/libxshmfence.so.1 (0x00007f59f87fc000)
    	libglapi.so.0 => /usr/lib/x86_64-linux-gnu/libglapi.so.0 (0x00007f59f85cc000)
    	libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f59f83ba000)
    	libXdamage.so.1 => /usr/lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007f59f81b7000)
    	libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007f59f7fb0000)
    	libX11-xcb.so.1 => /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x00007f59f7dae000)
    	libxcb-glx.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0 (0x00007f59f7b95000)
    	libxcb-dri2.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri2.so.0 (0x00007f59f798f000)
    	libXxf86vm.so.1 => /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1 (0x00007f59f7789000)
    	libdrm.so.2 => /usr/lib/x86_64-linux-gnu/libdrm.so.2 (0x00007f59f757a000)
    	libicudata.so.55 => /usr/lib/x86_64-linux-gnu/libicudata.so.55 (0x00007f59f5ac2000)
    	libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f59f58be000)
    	libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f59f56b7000)
    

    The issue is that libdfmcore.so.1 is a library created as part of my projects. The .pro file for the project creating this library is as follows. I can also not find any libdfmcore.so.1 on my disk (also not in /usr/lib) but the application runs perfectly from Qt Creator (and definately uses the code in this library). I can only find symbolic links to unknown. Any suggestions on what could be wrong here?

    QT       += xml gui
    
    greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
    
    TARGET = dfmcore
    TEMPLATE = lib
    
    DEFINES += DFMCORE_LIBRARY
    DEFINES += QT_DEPRECATED_WARNINGS
    
    SOURCES += \
        // Lot's of files
    
    HEADERS += \
        // Lot's of files
    
    unix {
        target.path = /usr/lib
        INSTALLS += target
    }
    
    1 Reply Last reply
    0
    • M Offline
      M Offline
      ModelTech
      wrote on 11 Jul 2017, 22:10 last edited by ModelTech 7 Nov 2017, 22:10
      #2

      Ok, got a little step further. I found the actual library file (it is called libdfmcore.so.1.0.0 and I copied that to usr/lib with the name libdfmcore.so.1. This makes ldd find it and also linuxdeployqt seems happy.

      Question 1: how do I solve this properly. I mean, I expected the .pro file to state that it should install the library in /usr/lib but it clearly doesn't do so. How do I fix this?

      Anyway, I get the next error:

      ERROR: ldd outputLine: "/home/.../dfm: /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5: version `Qt_5' not found (required by /home/.../dfm)"
      

      There is a symbolic link /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 that refers to a file /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.5.1 So, it seems that ldd does not go through the symbolic links to find the actual files.

      Question 2: How to make ldd / linuxdeployqt find the actual library files through the symbolic links?

      1 Reply Last reply
      0
      • H Online
        H Online
        hskoglund
        wrote on 11 Jul 2017, 23:08 last edited by
        #3

        Hi, about that error message "version `Qt_5' not found" occurs when you have built your app using Qt 5.6 or later and the pre-installed Qt on your system (in /usr/lib/x86_64-linux-gnu/) is a version of Qt before 5.6 (you have 5.5.1).

        The reason that error does not occur when you start your app from Qt Creator, is because Qt Creator patches the $PATH variable when in runs your app, so that the first entry points to your Qt installation (making ldd much happier).
        For example, on my Ubuntu the $PATH normally is:
        /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
        but when Qt Creator launches a Qt app it's changed to:
        /home/henry/Qt/5.9/gcc_64/bin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

        Normally this shouldn't matter because a Qt app executable file gets an RPATH to your Qt installation anyway, on my Ubuntu it's:

        chrpath myapp
        RPATH=/home/henry/Qt/5.9/gcc_64/lib
        

        however a successful run of linuxdeployqt on the app neuters that connection (a wise move which makes it possible to run the app on a PC without Qt installed) and changes it to:

        chrpath myapp
        RUNPATH=$ORIGIN/lib/
        

        and this should suffice provided that the lib subdirectory has had all the necessary Qt files copied into it by linuxdeployqt.

        M 1 Reply Last reply 12 Jul 2017, 04:30
        2
        • H hskoglund
          11 Jul 2017, 23:08

          Hi, about that error message "version `Qt_5' not found" occurs when you have built your app using Qt 5.6 or later and the pre-installed Qt on your system (in /usr/lib/x86_64-linux-gnu/) is a version of Qt before 5.6 (you have 5.5.1).

          The reason that error does not occur when you start your app from Qt Creator, is because Qt Creator patches the $PATH variable when in runs your app, so that the first entry points to your Qt installation (making ldd much happier).
          For example, on my Ubuntu the $PATH normally is:
          /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
          but when Qt Creator launches a Qt app it's changed to:
          /home/henry/Qt/5.9/gcc_64/bin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

          Normally this shouldn't matter because a Qt app executable file gets an RPATH to your Qt installation anyway, on my Ubuntu it's:

          chrpath myapp
          RPATH=/home/henry/Qt/5.9/gcc_64/lib
          

          however a successful run of linuxdeployqt on the app neuters that connection (a wise move which makes it possible to run the app on a PC without Qt installed) and changes it to:

          chrpath myapp
          RUNPATH=$ORIGIN/lib/
          

          and this should suffice provided that the lib subdirectory has had all the necessary Qt files copied into it by linuxdeployqt.

          M Offline
          M Offline
          ModelTech
          wrote on 12 Jul 2017, 04:30 last edited by ModelTech 7 Dec 2017, 04:49
          #4

          @hskoglund

          I am not completely sure whether I understand your remark. When I run chrpath for my app (dfm) I get:

          chrpath dfm 
          dfm: RUNPATH=$ORIGIN/lib/
          

          But, I also get that $ORIGIN is empty and my $PATH seems to stay the same (Although echo $PATH does not show inclusion of the standard paths like /usr/local/sbin etc.). I have some settings in .bashrc to extend the standard $PATH using lines like:

          export PATH=$PATH:/home/modeltech/bin
          
          J 1 Reply Last reply 12 Jul 2017, 04:59
          0
          • H Online
            H Online
            hskoglund
            wrote on 12 Jul 2017, 04:57 last edited by
            #5

            When you start the app, $ORIGIN is replaced with the current directory, where the app is. (Another approach is to add the current directory to the $PATH, but $ORIGIN is more convenient, no clobbering of $PATH is needed)

            If chrpath shows $ORIGIN/lib/ that means you've run linuxdeployqt on your app, and that in the current directory there should be a subdirectory lib with all the needed Qt dlls (copied from the Qt installation by linuxdeployqt).

            To make sure that pre-installed, ancient Qt doesn't rear its ugly head, you could edit your $PATH setting in .bashrc so that the path to your kosher Qt installation's lib directory comes first, on my Ubuntu it would be:

             export PATH=/home/henry/Qt/5.9.1/gcc_64/lib:$PATH
            

            But beware, once version 5.10 of Qt is out, that PATH would be invalid, i.e. it's a short-term solution :-)

            1 Reply Last reply
            0
            • M ModelTech
              12 Jul 2017, 04:30

              @hskoglund

              I am not completely sure whether I understand your remark. When I run chrpath for my app (dfm) I get:

              chrpath dfm 
              dfm: RUNPATH=$ORIGIN/lib/
              

              But, I also get that $ORIGIN is empty and my $PATH seems to stay the same (Although echo $PATH does not show inclusion of the standard paths like /usr/local/sbin etc.). I have some settings in .bashrc to extend the standard $PATH using lines like:

              export PATH=$PATH:/home/modeltech/bin
              
              J Offline
              J Offline
              jsulm
              Lifetime Qt Champion
              wrote on 12 Jul 2017, 04:59 last edited by
              #6

              @ModelTech $ORIGIN is a variable for the linker it tells it to take the directory where the executable file is located.
              Please DO NOT CHANGE PATH for you app globally!
              Why do you want to have that lib in /usr/lib?
              "I expected the .pro file to state that it should install the library in /usr/lib" - why?
              Usually linuxdeployqt creates a package (just a directory) containing all stuff needed to execute your app, there is no need to pollute the system directories.

              To me it is not completely clear what the issue is: does linuxdeployqt not copy libdfmcore.so.1.0.0 into your package?

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

              M 1 Reply Last reply 12 Jul 2017, 05:12
              1
              • J jsulm
                12 Jul 2017, 04:59

                @ModelTech $ORIGIN is a variable for the linker it tells it to take the directory where the executable file is located.
                Please DO NOT CHANGE PATH for you app globally!
                Why do you want to have that lib in /usr/lib?
                "I expected the .pro file to state that it should install the library in /usr/lib" - why?
                Usually linuxdeployqt creates a package (just a directory) containing all stuff needed to execute your app, there is no need to pollute the system directories.

                To me it is not completely clear what the issue is: does linuxdeployqt not copy libdfmcore.so.1.0.0 into your package?

                M Offline
                M Offline
                ModelTech
                wrote on 12 Jul 2017, 05:12 last edited by ModelTech 7 Dec 2017, 05:15
                #7

                @jsulm

                It can't even find libdfmcore.so.1.0.0 ...

                And I just discovered that on my Mac, this libdfmcore library is also not copied to /usr/lib. You ask why I would want that. Well, I do not want that but if I do so, ldd & linuxdeplyqt can actually find it (plus the 'unix { ...}' part at the bottom in the .pro file originates from the template given by Qt Created when I created the project).

                Note that both on linux and mac, I cannot run my app from a terminal, only from qt creator. This already suggests that there is something wrong, but I have no clue what...

                J 1 Reply Last reply 12 Jul 2017, 05:24
                0
                • M ModelTech
                  12 Jul 2017, 05:12

                  @jsulm

                  It can't even find libdfmcore.so.1.0.0 ...

                  And I just discovered that on my Mac, this libdfmcore library is also not copied to /usr/lib. You ask why I would want that. Well, I do not want that but if I do so, ldd & linuxdeplyqt can actually find it (plus the 'unix { ...}' part at the bottom in the .pro file originates from the template given by Qt Created when I created the project).

                  Note that both on linux and mac, I cannot run my app from a terminal, only from qt creator. This already suggests that there is something wrong, but I have no clue what...

                  J Offline
                  J Offline
                  jsulm
                  Lifetime Qt Champion
                  wrote on 12 Jul 2017, 05:24 last edited by
                  #8

                  @ModelTech
                  Please read "Creating the Application Package" here: http://doc.qt.io/qt-5/linux-deployment.html
                  That ldd does not find the lib is normal (as the lib is not located in any directories where ldd is looking for libs). It will find it if you do the deployment as described in the link above. You will then have a shell script used to start your app. This script sets LD_LIBRARY_PATH variable before starting your app to tell linker where to look for your libs.

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

                  M 1 Reply Last reply 12 Jul 2017, 05:50
                  1
                  • J jsulm
                    12 Jul 2017, 05:24

                    @ModelTech
                    Please read "Creating the Application Package" here: http://doc.qt.io/qt-5/linux-deployment.html
                    That ldd does not find the lib is normal (as the lib is not located in any directories where ldd is looking for libs). It will find it if you do the deployment as described in the link above. You will then have a shell script used to start your app. This script sets LD_LIBRARY_PATH variable before starting your app to tell linker where to look for your libs.

                    M Offline
                    M Offline
                    ModelTech
                    wrote on 12 Jul 2017, 05:50 last edited by ModelTech 7 Dec 2017, 05:53
                    #9

                    @jsulm

                    Now, there is something interesting. LD_LIBRARY_PATH is set in my .bashrc for compiling another tool. Removing that from my .bashrc makes linuxdeployqt find the libdfmcore (without cluttering the /usr/lib directory).

                    Nevertheless, linuxdeployqt still gives:

                    linuxdeployqt dfm
                    Not using FHS-like mode
                    app-binary: "/home/.../dfm/build/release/gui/dfm"
                    appDirPath: "/home/.../dfm/build/release/gui"
                    relativeBinPath: "dfm"
                    ERROR: ldd outputLine: "/home/.../dfm/build/release/gui/dfm: /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5: version `Qt_5' not found (required by /home/.../dfm/build/release/gui/dfm)"
                    ERROR: Please ensure that all libraries can be found by ldd. Aborting.
                    

                    So, it seems that I have an issue with an old Qt version? What is the best approach to solve that?

                    J 1 Reply Last reply 12 Jul 2017, 05:57
                    0
                    • M ModelTech
                      12 Jul 2017, 05:50

                      @jsulm

                      Now, there is something interesting. LD_LIBRARY_PATH is set in my .bashrc for compiling another tool. Removing that from my .bashrc makes linuxdeployqt find the libdfmcore (without cluttering the /usr/lib directory).

                      Nevertheless, linuxdeployqt still gives:

                      linuxdeployqt dfm
                      Not using FHS-like mode
                      app-binary: "/home/.../dfm/build/release/gui/dfm"
                      appDirPath: "/home/.../dfm/build/release/gui"
                      relativeBinPath: "dfm"
                      ERROR: ldd outputLine: "/home/.../dfm/build/release/gui/dfm: /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5: version `Qt_5' not found (required by /home/.../dfm/build/release/gui/dfm)"
                      ERROR: Please ensure that all libraries can be found by ldd. Aborting.
                      

                      So, it seems that I have an issue with an old Qt version? What is the best approach to solve that?

                      J Offline
                      J Offline
                      jsulm
                      Lifetime Qt Champion
                      wrote on 12 Jul 2017, 05:57 last edited by
                      #10

                      @ModelTech Looks like you need take care of this (https://github.com/probonopd/linuxdeployqt/blob/master/README.md):
                      "QMake configuration

                      Important: linuxdeployqt deploys the Qt instance that qmake on the $PATH points to, so make sure that it is the correct one. Verify that qmake finds the correct Qt instance like this before running the linuxdeployqt tool:

                      qmake -v

                      QMake version 3.0
                      Using Qt version 5.7.0 in /tmp/.mount_QtCreator-5.7.0-x86_64/5.7/gcc_64/lib

                      If this does not show the correct path to your Qt instance that you want to be bundled, then adjust your $PATH to find the correct qmake."

                      Probably linuxdeployqt takes the qmake delivered with your Linux distribution. You can adjust PATH before calling linuxdeployqt so it picks the correct qmake.

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

                      1 Reply Last reply
                      1
                      • M Offline
                        M Offline
                        ModelTech
                        wrote on 12 Jul 2017, 20:04 last edited by ModelTech 7 Dec 2017, 20:06
                        #11

                        After undoing all the polluting of /usr/lib, I have tried most suggestions. Also qmake -v gives something totally different than what it should be.

                        Nevertheless, I did find a way that works but it is not very user-friendly. First of all, I have prepared the package with all the required libraries (including my own libdfmcore.so.1) in a lib subfolder. So, it looks like:

                        /dfm                              // Executable
                        /lib/libdfmcore.so.1              // My own lib to the executable
                        /lib/libQt5Gui.so.5               // Example of a required Qt library
                        /lib/...                          // More of them (all identified through linuxdeployqt)
                        /platforms/libqxcb.so             // Qt platform library
                        /plugins/libsdf3.so               // A plugin
                        /plugins/libbasictools.so         // Another plugin
                        

                        With all this in place, run the application by executing the following commands from a terminal at the location of the executable:

                        LD_LIBRARY_PATH=$PWD/lib/
                        export LD_LIBRARY_PATH
                        ./dfm
                        

                        I tried to script the above, but for some reason that doesn't work. For now this approach is ok, but suggestions for a more user-friendly solution are appreciated.

                        J 1 Reply Last reply 13 Jul 2017, 04:30
                        0
                        • M ModelTech
                          12 Jul 2017, 20:04

                          After undoing all the polluting of /usr/lib, I have tried most suggestions. Also qmake -v gives something totally different than what it should be.

                          Nevertheless, I did find a way that works but it is not very user-friendly. First of all, I have prepared the package with all the required libraries (including my own libdfmcore.so.1) in a lib subfolder. So, it looks like:

                          /dfm                              // Executable
                          /lib/libdfmcore.so.1              // My own lib to the executable
                          /lib/libQt5Gui.so.5               // Example of a required Qt library
                          /lib/...                          // More of them (all identified through linuxdeployqt)
                          /platforms/libqxcb.so             // Qt platform library
                          /plugins/libsdf3.so               // A plugin
                          /plugins/libbasictools.so         // Another plugin
                          

                          With all this in place, run the application by executing the following commands from a terminal at the location of the executable:

                          LD_LIBRARY_PATH=$PWD/lib/
                          export LD_LIBRARY_PATH
                          ./dfm
                          

                          I tried to script the above, but for some reason that doesn't work. For now this approach is ok, but suggestions for a more user-friendly solution are appreciated.

                          J Offline
                          J Offline
                          jsulm
                          Lifetime Qt Champion
                          wrote on 13 Jul 2017, 04:30 last edited by
                          #12

                          @ModelTech Did you actually read the links I provided (http://doc.qt.io/qt-5/linux-deployment.html and https://github.com/probonopd/linuxdeployqt/blob/master/README.md)? As I said you're using wrong qmake, do it like described in my previous post: "If this does not show the correct path to your Qt instance that you want to be bundled, then adjust your $PATH to find the correct qmake."
                          "I tried to script the above, but for some reason that doesn't work" - what does not work?
                          In the link above, if you read it, you will find ready made script to start your app, all you have to do is to copy this script into a text file, name this file NAME_OF_YOUR_APP.sh and put it in the same directory where NAME_OF_YOUR_APP is.

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

                          1 Reply Last reply
                          2
                          • M Offline
                            M Offline
                            ModelTech
                            wrote on 16 Jul 2017, 19:01 last edited by ModelTech
                            #13

                            Calling qmake from the command line does not work in my environment. Changing the $PATH does not help in any way. I tried hard.

                            I solved the scripting problem by studying one of the referred pages in more details, but it did't work as it was described there. I did however give me the right inspiration. Thanks :)

                            Anyway, on my Mac, I basically experience the same problem! It all has clearly to do with the fact that I use a library that I build myself (as a subproject for the whole project) and which is not accessible from /usr/lib. I have tried to put this library file at various places in (subfolders of) the Content folder of the application bundle. I also tried to alter the qt.conf file using the Library and LibraryExecutables fields. None of this worked: macdeployqt can't find the library file and it really wants it at /usr/lib. The only thing that I get to work is to put the .dylib file in the MacOs subfolder and run the application by calling the executable from within the MacOs subfolder from the command line. Not the solution that a typical Mac user will like...

                            1 Reply Last reply
                            0
                            • SGaistS Offline
                              SGaistS Offline
                              SGaist
                              Lifetime Qt Champion
                              wrote on 16 Jul 2017, 20:31 last edited by
                              #14

                              Hi,

                              Take a look at the Linking the application to Qt as a framework chapter of the deployment documentation. It shows how to use macOS tools in order to deploy an application.

                              You can use them in addition to macdeployqt when you have unusual stuff happening.

                              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

                              6/14

                              12 Jul 2017, 04:59

                              • Login

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