[Interest] macdeployqt errors on Qt 5.3.1
imikejackson at gmail.com
Sun Aug 24 17:20:20 CEST 2014
To help answer my question I dug into the sources for macdeployqt and it turns out a combination of events conspired to give the results I was getting. There is a bit of code in macdeployqt that attempts to parse out the path to the Qt install by looking at a string from the output of "otool". The path it was looking at passed all the tests, unfortunately it was a false positive as the path was still wrong. I was going to try to write a patch or something to give back but after thinking about the problem I could not find a good bullet proof solution that would work in all the possible situations. MY one idea was to use the output from "quake -query QT_INSTALL_PATH" as a sanity check on any deduced qt installation path but I was not sure if this was really a good idea as I was thinking there might be edge cases where qmake might give a wrong result?
The other part of the problem was that the link order for my executable had a few other libraries first which ended up give the erroneous results. Changing the order of linking in my CMake file by putting the Qt libraries _first_ allowed macdeployqt to give back the proper results.
Just thought I would follow up in case someone else runs into this same issue.
On Aug 23, 2014, at 2:41 PM, Michael Jackson <imikejackson at gmail.com> wrote:
> I am trying to use macdeployqt to deploy my application. I am using OS X 10.8.5 with Stock Xcode 5.x and Qt 5.3.1 (Self Built - No webkit). It seems to have worked once but now when I run it on my .app bundle I get the following error:
> Log: Deploying plugins from "/Users/mjackson/Workspace/DREAM3D_Rewrite/qt5/plugins"
> ERROR: file copy failed from "/Users/mjackson/Workspace/DREAM3D_Rewrite/qt5/plugins/platforms/libqcocoa.dylib"
> ERROR: to "Bin/PluginMaker.app/Contents/PlugIns/platforms/libqcocoa.dylib"
> Here is the setup:
> /Users/mjackson/Workspace/DREAM3D_Rewrite/ is my project directory
> /Users/mjackson/Workspace/DREAM3D_Rewrite/qt5 is my build directory
> /Users/mjackson/Workspace/DREAM3D_Rewrite/plugins exists but I build my OWN plugins in that directory
> My project uses CMake. I am trying to figure out where this is going wrong. Any help is much appreciated. I have tried with a completely clean shell (NO variables exported in case that was an issue). I blew away the Qt directory, went back to the directory where I built Qt and did "make install; make install_docs" and that did not solve the issue either.
> Thanks for any help
> Mike Jackson
More information about the Interest