On Monday January 23 2017 10:30:50 Sérgio Martins wrote:
>Try running with QT_DEBUG_PLUGINS=1 and report back.
Hah, I think I was onto something, but it's not what I thought:
%> objdump -p systray-qt5/systray-qt5 | fgrep PATH
RPATH /opt/local/libexec/qt5/lib
As a result, all 5.8.0 platform plugins give an error like this:
%> env LD_LIBRARY_PATH=/opt/local/testing/libexec/qt5/lib
QT_PLUGIN_PATH=/opt/local/testing/share/qt5/plugins
QT_QPA_PLATFORM_PLUGIN_PATH=/opt/local/testing/share/qt5/plugins/platforms
QT_DEBUG_PLUGINS=1 systray-qt5/systray-qt5
...
Found metadata in lib
/opt/local/testing/share/qt5/plugins/platforms/libqxcb.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"xcb"
]
},
"className": "QXcbIntegrationPlugin",
"debug": false,
"version": 329728
}
In /opt/local/testing/share/qt5/plugins/platforms/libqxcb.so:
Plugin uses incompatible Qt library (5.8.0) [release]
...
and then finally the process fails with
Found metadata in lib /opt/local/share/qt5/plugins/platforms/libqxcb.so,
metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"xcb"
]
},
"className": "QXcbIntegrationPlugin",
"debug": false,
"version": 329473
}
QLibraryPrivate::loadPlugin failed on
"/opt/local/share/qt5/plugins/platforms/libqxcb.so" : "Cannot load library
/opt/local/share/qt5/plugins/platforms/libqxcb.so:
(/opt/local/libexec/qt5/lib/libQt5Core.so.5: version `Qt_5.8' not found
(required by /opt/local/testing/libexec/qt5/lib/libQt5XcbQpa.so.5))"
This application failed to start because it could not find or load the Qt
platform plugin "xcb"
in "/opt/local/testing/share/qt5/plugins/platforms".
IOW, I'll need to find a way to build that systray app in such a way that it
contains RUNPATH instead of RPATH.
Is that what qmake 5.8.0 should do with the patch from this codereview in
place?
R.
_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development