Qt5.3.0 Widget App on QNX6.5.0 core dumped with Cannot load library libqqnx.so
-
Hi everyone,
I recently built Qt5.3.0 for QNX6.5.0(x86) on Ubuntu22.04. I created a qt widget project, and just built, deployed and ran it on a QNX6.5.0 virtual machine on VirtualBox. However, it caused core dumped abortion, with the information:
"Cannot load library /opt/qt/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.
I ran ldd <qt dir>/plugins/platforms/libqqnx.so command, it only output:
<qt dir>/plugins/platforms/libqqnx.so:
libqqnx.so => <qt dir>/plugins/platforms/libqqnx.so (0xb8200000)
ldd: Library cannot be found
Meanwhile, the c++ app and qt concole apps ran normally.
I have already copied the "imports, lib, plugins, qml" dir to the virtual machine, and configured LD_LIBRARY_PATH, QT_PLUGIN_PATH, QML2_IMPORT_PATH, QML_IMPORT_PATH, QT_QPA_FONTDIR, QQNX_PHYSICAL_SCREEN_SIZE and QT_DEBUG_PLUGINS on the virtual machine.
Could anyone give some hints on how to fix the problem and enable a Qt widget app to run normally on a QNX virtual machine? Thank you all in advance. -
The Qt 5.3 ship has sailed long long long ago. It’s not binary compatible to newer versions.
You need to re-compile your app with 6.5. -
@Axel-Spoerl Thank you for replying. I chose older Qt version, because QNX6.5.0 uses gcc4.4.2. I recently tried to compile Qt6.5 to adapt to QNX6.5.0, which could be built and installed successfully (gcc version on my ubuntu is gcc-9), but when I created a Qt Widget project, I could not build it due to many errors, including "Qt requires a C++17 compiler".
Is it possible to build Qt6 for QNX6.5.0 under my current condition? Or I have to upgrade gcc to a newer version on ubuntu and I suppose the gcc for QNX6.5.0 cannot be upgraded. Or can I manage to make qt widget app compiled by Qt5.3 to run normally on QNX6.5.0? (I often see "unknown symbol: __stack_chk_guard" message amongst the old error ouputs, and don't know what to do with it.)(T_T) -
Qt6 requires QNX SDP 7.1 and gcc-9 as a minimum. I really recommend upgrading to recent versions.
For Qt 5.3 I can't say anything.