Run Qt 5.3 on QNX 6.6
-
Hello.
I'm trying to run Qt widget application on QNX 6.6 target.
What I've done is below.-
Install qt on Ubuntu 12.04 via qt-enterprise-linux-x86-qnx-5.3.1.run downloaded from Qt digia website.
-
Setup QNX 6.6 + Qt 5.3, Linux + Qt 5.3 kit on QtCreator.
-
Build 'helloqt' program via New Project -> Applications -> Qt Widget Application template without any modification that displays an empty window.
-
Run 'helloqt' for linux and it works properly.
-
Prepare QNX target with QNX 6.6 SDP + Graphics Patch
-
Copy 'helloqt' for QNX to /root/qt5test/ on target.
-
Copy below directories to /opt/qt5/ on QNX target.
@ <QT_INSTALL_PATH>/5.3/qnx6-x86/lib
<QT_INSTALL_PATH>/5.3/qnx6-x86/plugins
<QT_INSTALL_PATH>/5.3/qnx6-x86/qml@ -
Add below to /root/.profile for environment setting.
@ export LD_LIBRARY_PATH=/lib:/usr/lib:/lib/dll:/opt/qt5/lib:/opt/qnx6/x86/lib:/opt/qnx6/x86/usr/lib:/opt/qnx6/x86/lib/dll
export QQNX_PHYSICAL_SCREEN_SIZE=150,90
export QT_PLUGIN_PATH=/opt/qt5/plugins
export QML2_IMPORT_PATH=/opt/qt5/qml
export GRAPHICS_ROOT=/usr/lib/graphics/intel-drm@ -
run '/sbin/drm-intel' on QNX target.(my target has graphic processor from intel)
-
run 'screen'
-
run '/root/qt5test/helloqt'
<Result>
@# cd /root/qt5test/./helloqt
slog2_api: cannot connect to slogger2 server...errno=No such file or directory
Error registering slogger2 buffer!
This application failed to start because it could not find or load the Qt platform plugin "qnx".Available platform plugins are: minimal, offscreen, qnx.
Reinstalling the application may fix this problem.
Abort
#@-
Three libraries below exist in '/opt/qt5/plugins/platforms'.
@ libqminimal.so
libqoffscreen.so
libqqnx.so@ -
Result is same no matter running drm-intel or screen.
-
Below is 'env' result.
@_=/usr/bin/env
SSH_CONNECTION=192.168.100.150 62661 192.168.100.177 22
PATH=/sbin:/usr/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/bin:/opt/sbin:/bin:/sbin:/usr/bin:/usr/sbin
SHELL=/bin/sh
TMPDIR=/tmp
HOSTNAME=localhost
USER=root
PROCESSOR=x86
MAIL=/var/spool/mail/root
LD_LIBRARY_PATH=/lib:/usr/lib:/lib/dll:/opt/qt5/lib:/opt/qnx6/x86/lib:/opt/qnx6/x86/usr/lib:/opt/qnx6/x86/lib/dll
HOME=/root
SSH_CLIENT=192.168.100.150 62661 22
QNX_HOST=/
QNX_TARGET=/
GRAPHICS_ROOT=/usr/lib/graphics/intel-drm
QQNX_PHYSICAL_SCREEN_SIZE=150,90
TERM=xterm
QML2_IMPORT_PATH=/opt/qt5/qml
QT_PLUGIN_PATH=/opt/qt5/plugins
QNX_CONFIGURATION=/etc/qnx
SSH_TTY=/dev/ttyp1
SYSNAME=nto
LOGNAME=root@
I'd googling but no luck and stuck on this.
Please let me know if any additional information is needed and any suggestions would be appreciated. -
-
Thanks stuk. I set QT_DEBUG_PLUGINS=1 and output is below.
36: Found metadata in lib /opt/qt5/plugins/platforms/libqqnx.so, metadata= ...
...
51: loaded library "/opt/qt5/plugins/platforms/libqqnx.so"
52: QLibraryPrivate::loadPlugin failed on "/opt/qt5/plugins/platforms/libqqnx.so" : "Cannot load library /opt/qt5/plugins/platforms/libqqnx.so: (Library cannot be found)"As output message, looks like some modules found libqqnx.so but QLibraryPrivate didn't.
I'll post additional info if I figure out more about that.
Any help would be appreciated.<Full output log>
@QFactoryLoader::QFactoryLoader() checking directory path "/root/qt5test/platforms" ...
QFactoryLoader::QFactoryLoader() checking directory path "/opt/qt5/plugins/platforms" ...
QFactoryLoader::QFactoryLoader() looking at "/opt/qt5/plugins/platforms/libqminimal.so"
Found metadata in lib /opt/qt5/plugins/platforms/libqminimal.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.2",
"MetaData": {
"Keys": [
"minimal"
]
},
"className": "QMinimalIntegrationPlugin",
"debug": false,
"version": 328449
}Got keys from plugin meta data ("minimal")
QFactoryLoader::QFactoryLoader() looking at "/opt/qt5/plugins/platforms/libqoffscreen.so"
Found metadata in lib /opt/qt5/plugins/platforms/libqoffscreen.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.2",
"MetaData": {
"Keys": [
"offscreen"
]
},
"className": "QOffscreenIntegrationPlugin",
"debug": false,
"version": 328449
}Got keys from plugin meta data ("offscreen")
QFactoryLoader::QFactoryLoader() looking at "/opt/qt5/plugins/platforms/libqqnx.so"
Found metadata in lib /opt/qt5/plugins/platforms/libqqnx.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.2",
"MetaData": {
"Keys": [
"qnx"
]
},
"className": "QQnxIntegrationPlugin",
"debug": false,
"version": 328449
}Got keys from plugin meta data ("qnx")
loaded library "/opt/qt5/plugins/platforms/libqqnx.so"
QLibraryPrivate::loadPlugin failed on "/opt/qt5/plugins/platforms/libqqnx.so" : "Cannot load library /opt/qt5/plugins/platforms/libqqnx.so: (Library cannot be found)"
This application failed to start because it could not find or load the Qt platform plugin "qnx".Available platform plugins are: minimal, offscreen, qnx.
Reinstalling the application may fix this problem.
Abort@ -
Yes, as I wrote at first post, that directory contains these three files.
@ libqminimal.so
libqoffscreen.so
libqqnx.so@And output said also
Found metadata in lib /opt/qt5/plugins/platforms/libqqnx.so ...
loaded library "/opt/qt5/plugins/platforms/libqqnx.so"I'm so curious why only QLibraryPrivate::loadPlugin failed to load.
-
I use Qt Enterprise.
Built binaries are provided for enterprise customer from Digia.In my first post,
- Install qt on Ubuntu 12.04 via qt-enterprise-linux-x86-qnx-5.3.1.run downloaded from Qt digia website.
That's the one contains pre-built binaries for qnx target.
After install that <QT_INSTALL_PATH>/5.3/qnx6-x86/plugins/platforms has those files.BTW, you may ask why don't I ask to Digia, but they are on summer vacation and I'm urgent. :) And I posted this to Digia too.
-
Ok, it seems to be a bug. See here: https://bugreports.qt.io/browse/QTBUG-44476
-
Ok, it seems to be a bug. See here: https://bugreports.qt.io/browse/QTBUG-44476
-
This post is deleted!