Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.6.0
-
None
-
OS X 10.11.2
-
f1e764039fd701e4abc71b44f592e166222a3e3c
Description
An application Bundle.app that links against QtWebEngine is packaged using macdeployqt. As expected macdeployqt copies all required dependencies into the bundle, including QtWebEngineProcess.app at
Bundle.app/Contents/Frameworks/QtWebEngineCore.framework/Helpers/QtWebEngineProcess.app
However, the executable located at
Bundle.app/Contents/Frameworks/QtWebEngineCore.framework/Helpers/QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess
is not adjusted using install_name_tool to point to the framework library inside Bundle.app/Frameworks.
otool -lL gives:
Load command 25
cmd LC_RPATH
cmdsize 56
path /Users/hrabowski/build/qt-5.6/qtbase/lib (offset 12)
Load command 26
cmd LC_FUNCTION_STARTS
cmdsize 16
dataoff 24856
datasize 8
Load command 27
cmd LC_DATA_IN_CODE
cmdsize 16
dataoff 24864
datasize 0
@executable_path/../../../../QtWebEngineCore (compatibility version 5.6.0, current version 5.6.0)
@executable_path/../../../../../../../QtWebChannel.framework/QtWebChannel (compatibility version 5.6.0, current version 5.6.0)
@executable_path/../../../../../../../QtQml.framework/QtQml (compatibility version 5.6.0, current version 5.6.0)
@executable_path/../../../../../../../QtNetwork.framework/QtNetwork (compatibility version 5.6.0, current version 5.6.0)
@executable_path/../../../../../../../QtCore.framework/QtCore (compatibility version 5.6.0, current version 5.6.0)
/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)
@rpath/QtPositioning.framework/Versions/5/QtPositioning (compatibility version 5.6.0, current version 5.6.0)
@executable_path/../../../../../../../QtQuick.framework/QtQuick (compatibility version 5.6.0, current version 5.6.0)
@executable_path/../../../../../../../QtGui.framework/QtGui (compatibility version 5.6.0, current version 5.6.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 120.1.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1)
These are exactly the lib positions from the orignal file located in the qt build folder.
The problem is QtPositioning:
@rpath/QtPositioning.framework/Versions/5/QtPositioning
since the rpath is still pointing to outside bundle:
/Users/hrabowski/build/qt-5.6/qtbase/lib
All other libs are linked using @executable_path which is correct.
Attachments
Issue Links
- is duplicated by
-
QTBUG-52111 WebEngineCore library not loaded error from WebEngine examples
-
- Closed
-
-
QTBUG-51328 QtWebEngineProcess not found on Mac OS X
-
- Closed
-
- relates to
-
QTBUG-51939 Chromium processes is not found on Mac after running macdeployqt
-
- Closed
-
- resulted in
-
QTBUG-51348 macdeployqt does not adjust LC_RPATH in embedded bundles
-
- Closed
-
For Gerrit Dashboard: QTBUG-50155 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
150241,3 | OS X: Fix QtWebEngineProcess @rpath handling so macdeployqt works. | 5.6.0 | qt/qtwebengine | Status: MERGED | +2 | 0 |
151202,5 | Use qt_app -> relative_qt_rpath for QtWebEngineProcess. | 5.6 | qt/qtwebengine | Status: MERGED | +2 | 0 |