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. [solved] Unable to deploy Qt Quick 2 application on Mac OS X 10.8.2
Forum Updated to NodeBB v4.3 + New Features

[solved] Unable to deploy Qt Quick 2 application on Mac OS X 10.8.2

Scheduled Pinned Locked Moved General and Desktop
32 Posts 7 Posters 20.2k 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.
  • M Offline
    M Offline
    MaximAlien
    wrote on last edited by
    #21

    Looks like macdeployqt needs to be slightly changed for Qt 5.1 because using otool utility for dependencies search before and after macdeployqt nothing changes.

    App still uses dependencies from system, not in bundle.

    1 Reply Last reply
    0
    • M Offline
      M Offline
      miks131
      wrote on last edited by
      #22

      There is another bug - executable contains doble slash in path to Qt dynamic libraries. Take a look here https://bugreports.qt-project.org/browse/QTBUG-32379

      That's why macdeployqt does not change links. But you can work it around. Just use install_name_tool to get rid of double slashes, before you run macdeployqt.

      Well, I did try to copy QtQuick modules manually too.

      But not a frameworks, there are a lot of dependencies with linking which has to be resolved by install_name_tool - to get a self contain app bundle. So I'm using macdeployqt for copying Qt Framework.

      1 Reply Last reply
      0
      • M Offline
        M Offline
        MaximAlien
        wrote on last edited by
        #23

        I see. Thanks

        I'll try to check it this evening.

        1 Reply Last reply
        0
        • M Offline
          M Offline
          miks131
          wrote on last edited by
          #24

          OK,

          there are still troubles even with this work around.

          The thing is that there are a lot of dependencies between Qt libraries. For example QtQML depends on Network, Core, V8 ( you can check that by running otool -L ). So QtQML links with them dynamically. macdeployqt suppose to resolve linking paths, from absolute once to relatives. Because we copied all libs inside app bundle. But it does not do it, because of doble slash inside paths for QtQml for example:

          @otool -L QtQml /Users/username/Qt5.1.0//5.1.0/clang_64/lib/QtNetwork.framework/Versions/5/QtNet‌​work )@

          So path to QtNetwork was not changed, and it means bundle will not be distributable, since it depends on absolute paths.

          In general deployment of QtQuick modules is a bigger problem, because dynamic linking paths could be modified manually with install_name_tool and there is a "documentation":http://qt-project.org/doc/qt-5.0/qtdoc/deployment-mac.html how to do so.

          But there is not any documentation how to deploy QtQuick modules : /
          I wrote an email to Qt-Components mailing list, maybe someone will provide useful tip.

          1 Reply Last reply
          0
          • M Offline
            M Offline
            miks131
            wrote on last edited by
            #25

            So the same story with libraries inside QtQuick and QtQuick.2 folders, it is not enough just copy them inside app bundle.

            Dynamic linking paths inside libs has to be modified to a relative once with install_name_tool

            1 Reply Last reply
            0
            • M Offline
              M Offline
              miks131
              wrote on last edited by
              #26

              "This script":https://gist.github.com/lasconic/5965542 will help to fix duble slashes within QT

              1 Reply Last reply
              0
              • S Offline
                S Offline
                stereomatching
                wrote on last edited by
                #27

                This bug reported since Qt5.0.1 come out
                "bug report":https://bugreports.qt-project.org/browse/QTBUG-29495

                Until now, we still don't get a useable macdeployqt nor any document
                show us how to deploy QtQuick2 projects on mac, maybe even the
                developers also don't know how to do it?

                After I copy the QtQuick2 and QtQuick folders into the plugins folder of the bundle
                I run the otool -L on each dylib, the path are relative but not absolute, so what is wrong?
                Something haven't changed?Or I missing some dylib?

                @
                libqtquick2plugin.dylib (compatibility version 0.0.0, current version 0.0.0)
                @executable_path/../Frameworks/QtQuick.framework/Versions/5/QtQuick (compatibility version 5.1.0, current version 5.1.0)
                @executable_path/../Frameworks/QtQml.framework/Versions/5/QtQml (compatibility version 5.1.0, current version 5.1.0)
                @executable_path/../Frameworks/QtNetwork.framework/Versions/5/QtNetwork (compatibility version 5.1.0, current version 5.1.0)
                @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore (compatibility version 5.1.0, current version 5.1.0)
                @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui (compatibility version 5.1.0, current version 5.1.0)
                /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
                /System/Library/Frameworks/AGL.framework/Versions/A/AGL (compatibility version 1.0.0, current version 1.0.0)
                /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 19.0.0)
                /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0)
                @

                1 Reply Last reply
                0
                • M Offline
                  M Offline
                  miks131
                  wrote on last edited by
                  #28

                  Hej, managed to get it work, checkout this "answer":http://stackoverflow.com/a/17591828/2370437

                  1 Reply Last reply
                  0
                  • M Offline
                    M Offline
                    miks131
                    wrote on last edited by
                    #29

                    @MaximAlien great job with macdeployqt on GitHub! Thanks a lot. It works with QT 5.1 after I fixed double slashes with script I mentioned above.

                    Maybe it is a good idea update README on GitHub

                    1 Reply Last reply
                    0
                    • Q Offline
                      Q Offline
                      qtnext
                      wrote on last edited by
                      #30

                      It dont' works for me .... I have use the script to fixe the double slashes, use macdeployqt from git ... and it start with a white screen and module "QtQuick" is not installed ....
                      I don't understand why this bug is not fixed : it seems for me a major show stopping bug : Quick2 is the new way to go and MacOS is a major platform ...

                      1 Reply Last reply
                      0
                      • M Offline
                        M Offline
                        MaximAlien
                        wrote on last edited by
                        #31

                        Finally this macdeployqt problem is fixed in Qt 5.1.1

                        1 Reply Last reply
                        0
                        • M Offline
                          M Offline
                          MrJoshua
                          wrote on last edited by
                          #32

                          I’m using Qt 5.1.1, and deploying to OSX, but I am still getting errors similar to these.
                          Specifically the qml imports:

                          QQmlApplicationEngine failed to load component
                          module “QtQuick.LocalStorage” is not installed
                          module “QtQuick.Layouts” is not installed
                          module “QtQuick.Controls” is not installed
                          module “QtQuick” is not installed
                          module “QtQuick.Dialogs” is not installed
                          module “QtQuick.Controls.Styles” is not installed
                          I’m using qtcreator & macdeployqt, but there is not a -qml option. Most sources say the macdeployqt command just works now in 5.1.1, but that still does not seem to be the case with qml. After all the debugging in this thread what is the canonical way to deploy to mac now?

                          Thanks

                          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