I’m trying to my QT based application on PX2 (Ubuntu 16.04).
I have cross-compiled QT version 5.9 (application’s requirements) on my host for PX2 target and it seems to be compiled OK, but once I’m trying to run my test application, I have got the following error message:
nvidia@nvidia:~$ ./test
This application failed to start because it could not find or load the Qt platform plugin “xcb”
in “/usr/lib/aarch64-linux-gnu/qt5/plugins/platforms:/usr/lib/aarch64-linux-gnu/qt4/plugins/platforms”.
Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, xcb.
Reinstalling the application may fix this problem.
Aborted (core dumped)
nvidia@nvidia:~$
After digging a little bit, I have found that the problem is due to missing elements in libQt5XcbQpa, as detailed below:
nvidia@nvidia:~$ ldd -r -d /usr/lib/aarch64-linux-gnu/qt5/plugins/platforms/libqxcb.so
linux-vdso.so.1 => (0x0000007f7e651000)
libQt5XcbQpa.so.5 => /usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5 (0x0000007f7e52a000)
libQt5Gui.so.5 => /usr/lib/aarch64-linux-gnu/libQt5Gui.so.5 (0x0000007f7e0b9000)
libQt5Core.so.5 => /usr/lib/aarch64-linux-gnu/libQt5Core.so.5 (0x0000007f7dac8000)
libstdc++.so.6 => /usr/lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000007f7d936000)
libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000007f7d7f0000)
libX11-xcb.so.1 => /usr/lib/aarch64-linux-gnu/libX11-xcb.so.1 (0x0000007f7d7dd000)
libXi.so.6 => /usr/lib/aarch64-linux-gnu/libXi.so.6 (0x0000007f7d7bf000)
libxcb-render-util.so.0 => /usr/lib/aarch64-linux-gnu/libxcb-render-util.so.0 (0x0000007f7d7ab000)
libSM.so.6 => /usr/lib/aarch64-linux-gnu/libSM.so.6 (0x0000007f7d792000)
libICE.so.6 => /usr/lib/aarch64-linux-gnu/libICE.so.6 (0x0000007f7d76a000)
libxcb-render.so.0 => /usr/lib/aarch64-linux-gnu/libxcb-render.so.0 (0x0000007f7d752000)
libxcb.so.1 => /usr/lib/aarch64-linux-gnu/libxcb.so.1 (0x0000007f7d726000)
libxcb-image.so.0 => /usr/lib/aarch64-linux-gnu/libxcb-image.so.0 (0x0000007f7d712000)
libxcb-icccm.so.4 => /usr/lib/aarch64-linux-gnu/libxcb-icccm.so.4 (0x0000007f7d6fd000)
libxcb-sync.so.1 => /usr/lib/aarch64-linux-gnu/libxcb-sync.so.1 (0x0000007f7d6e6000)
libxcb-xfixes.so.0 => /usr/lib/aarch64-linux-gnu/libxcb-xfixes.so.0 (0x0000007f7d6cf000)
libxcb-shm.so.0 => /usr/lib/aarch64-linux-gnu/libxcb-shm.so.0 (0x0000007f7d6bc000)
libxcb-randr.so.0 => /usr/lib/aarch64-linux-gnu/libxcb-randr.so.0 (0x0000007f7d6a0000)
libxcb-shape.so.0 => /usr/lib/aarch64-linux-gnu/libxcb-shape.so.0 (0x0000007f7d68c000)
libxcb-keysyms.so.1 => /usr/lib/aarch64-linux-gnu/libxcb-keysyms.so.1 (0x0000007f7d679000)
libxcb-xkb.so.1 => /usr/lib/aarch64-linux-gnu/libxcb-xkb.so.1 (0x0000007f7d653000)
libxkbcommon-x11.so.0 => /usr/lib/aarch64-linux-gnu/libxkbcommon-x11.so.0 (0x0000007f7d63b000)
libfontconfig.so.1 => /usr/lib/aarch64-linux-gnu/libfontconfig.so.1 (0x0000007f7d5ee000)
libfreetype.so.6 => /usr/lib/aarch64-linux-gnu/libfreetype.so.6 (0x0000007f7d550000)
libglib-2.0.so.0 => /lib/aarch64-linux-gnu/libglib-2.0.so.0 (0x0000007f7d449000)
libX11.so.6 => /usr/lib/aarch64-linux-gnu/libX11.so.6 (0x0000007f7d321000)
libxkbcommon.so.0 => /usr/lib/aarch64-linux-gnu/libxkbcommon.so.0 (0x0000007f7d2d6000)
libQt5DBus.so.5 => /usr/lib/aarch64-linux-gnu/libQt5DBus.so.5 (0x0000007f7d249000)
libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000007f7d21d000)
/lib/ld-linux-aarch64.so.1 (0x0000005566793000)
libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000007f7d171000)
libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000007f7d150000)
librt.so.1 => /lib/aarch64-linux-gnu/librt.so.1 (0x0000007f7d138000)
libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000007f7d125000)
libXext.so.6 => /usr/lib/aarch64-linux-gnu/libXext.so.6 (0x0000007f7d105000)
libuuid.so.1 => /lib/aarch64-linux-gnu/libuuid.so.1 (0x0000007f7d0ef000)
libXau.so.6 => /usr/lib/aarch64-linux-gnu/libXau.so.6 (0x0000007f7d0dc000)
libXdmcp.so.6 => /usr/lib/aarch64-linux-gnu/libXdmcp.so.6 (0x0000007f7d0c6000)
libxcb-util.so.1 => /usr/lib/aarch64-linux-gnu/libxcb-util.so.1 (0x0000007f7d0b0000)
libexpat.so.1 => /lib/aarch64-linux-gnu/libexpat.so.1 (0x0000007f7d07b000)
libz.so.1 => /lib/aarch64-linux-gnu/libz.so.1 (0x0000007f7d054000)
libpng12.so.0 => /lib/aarch64-linux-gnu/libpng12.so.0 (0x0000007f7d025000)
libpcre.so.3 => /lib/aarch64-linux-gnu/libpcre.so.3 (0x0000007f7cfb3000)
undefined symbol: _ZN20QPlatformIntegration16openGLModuleTypeEv (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZNK21QPlatformBackingStore9toTextureERK7QRegionP5QSizeP6QFlagsINS_11TextureFlagEE (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZNK14QPlatformTheme14fileIconPixmapERK9QFileInfoRK6QSizeF6QFlagsINS_10IconOptionEE (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZTI20QEventDispatcherGlib (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN20QEventDispatcherGlib16hasPendingEventsEv (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN20QEventDispatcherGlib22registerSocketNotifierEP15QSocketNotifier (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN20QEventDispatcherGlib24unregisterSocketNotifierEP15QSocketNotifier (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN20QEventDispatcherGlib13registerTimerEiiN2Qt9TimerTypeEP7QObject (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN20QEventDispatcherGlib15unregisterTimerEi (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN20QEventDispatcherGlib16unregisterTimersEP7QObject (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZNK20QEventDispatcherGlib16registeredTimersEP7QObject (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN20QEventDispatcherGlib13remainingTimeEi (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN20QEventDispatcherGlib6wakeUpEv (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN20QEventDispatcherGlib9interruptEv (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN20QEventDispatcherGlib5flushEv (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN20QEventDispatcherGlib16staticMetaObjectE (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN20QEventDispatcherUNIX6selectEiP6fd_setS1_S1_P8timespec (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZNK14QOpenGLContext6screenEv (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN20QPlatformIntegration16openGLModuleTypeEv (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN10QBasicDrag4moveEPK11QMouseEvent (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN10QBasicDrag4dropEPK11QMouseEvent (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN22QWindowSystemInterface21handleWindowActivatedEP7QWindowN2Qt11FocusReasonE (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN22QWindowSystemInterface17handleExposeEventEP7QWindowRK7QRegion (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN22QWindowSystemInterface16handleMouseEventEP7QWindowmRK7QPointFS4_6QFlagsIN2Qt11MouseButtonEES5_INS6_16KeyboardModifierEENS6_16MouseEventSourceE (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN22QWindowSystemInterface16handleLeaveEventEP7QWindow (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: ZN22QWindowSystemInterface16handleEnterEventEP7QWindowRK7QPointFS4 (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN22QWindowSystemInterface24handleWindowStateChangedEP7QWindowN2Qt11WindowStateE (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: ZN22QWindowSystemInterface20handleGeometryChangeEP7QWindowRK5QRectS4 (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN21QPlatformBackingStore15composeAndFlushEP7QWindowRK7QRegionRK6QPointP20QPlatformTextureListP14QOpenGLContextb (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZNK21QPlatformBackingStore9toTextureERK7QRegionP5QSizeP6QFlagsINS_11TextureFlagEE (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN22QWindowSystemInterface16handleWheelEventEP7QWindowmRK7QPointFS4_6QPointS5_6QFlagsIN2Qt16KeyboardModifierEENS7_11ScrollPhaseENS7_16MouseEventSourceE (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN22QWindowSystemInterface19registerTouchDeviceEP12QTouchDevice (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN22QWindowSystemInterface16handleTouchEventEP7QWindowmP12QTouchDeviceRK5QListINS_10TouchPointEE6QFlagsIN2Qt16KeyboardModifierEE (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN20QEventDispatcherGlib16versionSupportedEv (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN27QEventDispatcherGlibPrivateC2EP13_GMainContext (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN20QEventDispatcherGlibC2ER27QEventDispatcherGlibPrivateP7QObject (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN20QEventDispatcherGlibD2Ev (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZNK14QPlatformTheme14fileIconPixmapERK9QFileInfoRK6QSizeF6QFlagsINS_10IconOptionEE (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN20QEventDispatcherGlib11qt_metacastEPKc (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN20QEventDispatcherGlib11qt_metacallEN11QMetaObject4CallEiPPv (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN20QEventDispatcherGlib16hasPendingEventsEv (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN20QEventDispatcherGlib22registerSocketNotifierEP15QSocketNotifier (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN20QEventDispatcherGlib24unregisterSocketNotifierEP15QSocketNotifier (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN20QEventDispatcherGlib13registerTimerEiiN2Qt9TimerTypeEP7QObject (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN20QEventDispatcherGlib15unregisterTimerEi (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN20QEventDispatcherGlib16unregisterTimersEP7QObject (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZNK20QEventDispatcherGlib16registeredTimersEP7QObject (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN20QEventDispatcherGlib13remainingTimeEi (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN20QEventDispatcherGlib6wakeUpEv (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN20QEventDispatcherGlib9interruptEv (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN20QEventDispatcherGlib5flushEv (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZNK21QPlatformFontDatabase28subpixelAntialiasingTypeHintEv (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
undefined symbol: _ZN20QEventDispatcherUNIX6selectEiP6fd_setS1_S1_P8timespec (/usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5)
Presenting so file content yields that it’s true:
nvidia@nvidia:~$ nm -D /usr/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5|grep register
w _ITM_deregisterTMCloneTable
w _ITM_registerTMCloneTable
U _ZN13QDBusMetaType25registerMarshallOperatorsEiPFvR13QDBusArgumentPKvEPFvRKS0_PvE
U _ZN15QDBusConnection14registerObjectERK7QStringP7QObject6QFlagsINS_14RegisterOptionEE
U _ZN15QDBusConnection15registerServiceERK7QString
U _ZN15QDBusConnection16unregisterObjectERK7QStringNS_14UnregisterModeE
U _ZN15QDBusConnection17unregisterServiceERK7QString
U _ZN15QDBusConnection21registerVirtualObjectERK7QStringP18QDBusVirtualObjectNS_27VirtualObjectRegisterOptionE
U _ZN20QEventDispatcherGlib13registerTimerEiiN2Qt9TimerTypeEP7QObject
U _ZN20QEventDispatcherGlib15unregisterTimerEi
U _ZN20QEventDispatcherGlib16unregisterTimersEP7QObject
U _ZN20QEventDispatcherGlib22registerSocketNotifierEP15QSocketNotifier
U _ZN20QEventDispatcherGlib24unregisterSocketNotifierEP15QSocketNotifier
U _ZN20QEventDispatcherUNIX13registerTimerEiiN2Qt9TimerTypeEP7QObject
U _ZN20QEventDispatcherUNIX15unregisterTimerEi
U _ZN20QEventDispatcherUNIX16unregisterTimersEP7QObject
U _ZN20QEventDispatcherUNIX22registerSocketNotifierEP15QSocketNotifier
U _ZN20QEventDispatcherUNIX24unregisterSocketNotifierEP15QSocketNotifier
U _ZN21QPlatformFontDatabase12registerFontERK7QStringS2_S2_N5QFont6WeightENS3_5StyleENS3_7StretchEbbibRK24QSupportedWritingSystemsPv
U ZN21QPlatformFontDatabase25registerAliasToFontFamilyERK7QStringS2
U _ZN22QWindowSystemInterface19registerTouchDeviceEP12QTouchDevice
U _ZN9QMetaType22registerNormalizedTypeERK10QByteArrayPFvPvEPFS3_S3_PKvEi6QFlagsINS_8TypeFlagEEPK11QMetaObject
U _ZN9QMetaType25registerConverterFunctionEPKN9QtPrivate25AbstractConverterFunctionEii
U _ZN9QMetaType25registerNormalizedTypedefERK10QByteArrayi
U _ZN9QMetaType27unregisterConverterFunctionEii
U _ZNK20QEventDispatcherGlib16registeredTimersEP7QObject
U _ZNK20QEventDispatcherUNIX16registeredTimersEP7QObject
Since all involved libs are inherent part of PX2 environment which includes QT version 5.5, and since the involved functions are older than version 5.5, I really wonder what may be the reason for this problem.
Does anyone can help?