Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
6.7.2
Description
Background
When we build Qt with -openssl-runtime (as our pre-built libraries do), then macdeployqt is unaware if the app bundle requires OpenSSL libraries to function. So, the user must manually add OpenSSL to the app bundle.
One way to make the dependency explicit is to build Qt with -openssl-linked instead.
This works fine for apps that only use QSslSocket/Qt Network (but not Qt WebEngine) – macdeployqt now deploys the OpenSSL libraries, and the app runs as expected after automatic macdeployqt deployment.
Problem
Unfortunately, macdeployqt does not deploy Qt WebEngine correctly with -openssl-linked:
dyld[11595]: Library not loaded: @executable_path/../Frameworks/libssl.3.dylib Referenced from: <266EE364-9DA4-3825-ADEE-837EADF90DAE> /Users/USER/Applications/MyApp.app/Contents/Frameworks/QtNetwork.framework/Versions/A/QtNetwork Reason: tried: '/Users/USER/Applications/MyApp.app/Contents/Frameworks/QtWebEngineCore.framework/Versions/A/Helpers/QtWebEngineProcess.app/Contents/Frameworks/libssl.3.dylib' (no such file), '/usr/lib/libssl.3.dylib' (no such file, not in dyld cache)
Workaround
Manually add the OpenSSL libraries to QtWebEngineProcess.app/Contents/Frameworks/