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. -
-
Try set QT_DEBUG_PLUGINS=1 in your shell and watch console output
-
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@ -
Strange, is there the /opt/qt5/plugins/platforms/libqqnx.so plugin?
-
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.
-
How do you put these files? Are you sure all are compiled for qnx platform?
-
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.
-
If you use Qt Enterprise use the support that you buy :D Its rapid than this forum :)
Summer Vacation?!?!? Enterprise Support?!?!?!? No don't believe!
-
I've posted this to Digia, Qt-Project, foundry27 and got some help from foundry27 and here but no answer from Digia.
Local Digia reseller told me that they are on vacation. -
Digia support is too slow. 1 answer per two days. :(
-
Have you found a solution for this problem? I am currently getting exactly the same error message (with Qt 5.4.1).
-
Have you found a solution for this problem? I am currently getting exactly the same error message (with Qt 5.4.1).
-
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
-
It's a little bit late to ask for help here, but I faced the same problem mentioned above. Environment variables are set and libraries are also present. Has anybody find out how to fix this bug? I'm targeting QNX 6.6 installed on VMWare.
-
This post is deleted!