[Development] Bug in macdeployqt?

Dean Floyd dean.floyd.lkml at gmail.com
Thu Sep 17 19:15:38 CEST 2015


Dear all,

We have a project where we weak link our app against the Wacom framework
which on MacOSX by default gets installed in:

/Library/Frameworks/WacomMultiTouch.framework

otool -L returns the following line for the Wacom link:

@rpath/WacomMultiTouch.framework/Versions/A/WacomMultiTouch (compatibility
version 1.1.0, current version 1.1.2)

When running macdeployqt we get the following error:

ERROR: Cannot resolve rpath
"WacomMultiTouch.framework/Versions/A/WacomMultiTouch (compatibility
version 1.1.0, current version 1.1.2)"
ERROR:  using QSet("/Applications/Qt/5.5/clang_64/lib",
"/Library/Frameworks")

I took a look at the macdeployqt's source code and it looks like there's
something wrong at parseOtoolLibararyLine() in
qttools/src/macdeployqt/shared.cpp.

It looks like in line 238 a "lib/" is put after the substitution of @rpath,
which causes the Wacom framework not to be resolved properly. A comment in
line 222 suggests that macdeployqt assumes that everything which of the
QtPath state is a Qt library. In our case Wacom is not a Qt library so the
additional "/lib" insertation breaks our build.

There are other libraries in /Library/Frameworks which are not Qt libraries
which may be potential linked against a Qt application, and as far as I can
see, this is not account for in macdeployqt. Could somebody please confirm
this?

Thank you,

Dean Floyd
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20150917/e77933cb/attachment.html>


More information about the Development mailing list