Issue with Running Qt 6.5 Application on ARM Architecture
-
System Details:
CMake Version: 3.16.3
Host System: Linux 5.15.0-119-generic (x86_64)
Target System Processor: ARM
Cross-compilation Prefix: /pkg_
Configuration and Build Details:Here is the config summary:
Building for: devices/linux-arm-g++ (arm, CPU features: neon)
Compiler: gcc 14.1.0
Build options:
Mode ................................... release
Optimize release build for size ........ yes
Fully optimize release builds (-O3) .... no
Building shared libraries .............. yes
Using C standard ....................... C11
Using C++ standard ..................... C++17
Using ccache ........................... no
Using new DTAGS ........................ yes
Relocatable ............................ yes
Using precompiled headers .............. no
Using Link Time Optimization (LTCG) .... no
Using Intel CET ........................ no
Target compiler supports:
ARM Extensions ....................... NEON
Sanitizers:
Addresses ............................ no
Threads .............................. no
Memory ............................... no
Fuzzer (instrumentation only) ........ no
Undefined ............................ no
Build parts ............................ libs
Qt modules and options:
Qt Concurrent .......................... yes
Qt D-Bus ............................... no
Qt D-Bus directly linked to libdbus .... no
Qt Gui ................................. yes
Qt Network ............................. yes
Qt PrintSupport ........................ yes
Qt Sql ................................. no
Qt Testlib ............................. no
Qt Widgets ............................. yes
Qt Xml ................................. yes
Support enabled for:
Using pkg-config ....................... no
udev ................................... no
OpenSSL ................................ yes
Qt directly linked to OpenSSL ........ no
OpenSSL 1.1 ............................ no
OpenSSL 3.0 ............................ yes
Using system zlib ...................... no
Zstandard support ...................... yes
Thread support ......................... yes
Common build options:
Linker can resolve circular dependencies no
CMake policy CMP0099 is supported ...... no
Qt Core:
backtrace .............................. yes
DoubleConversion ....................... yes
Using system DoubleConversion ........ no
GLib ................................... no
ICU .................................... no
Using system libb2 ..................... no
Built-in copy of the MIME database ..... no
cpp/winrt base ......................... no
Tracing backend ........................ <none>
Logging backends:
journald ............................. no
syslog ............................... no
slog2 ................................ no
PCRE2 .................................. yes
Using system PCRE2 ................... no
CLONE_PIDFD support in forkfd .......... yes
Application permissions ................ no
Qt Network:
getifaddrs() ........................... yes
IPv6 ifname ............................ yes
libproxy ............................... no
Linux AF_NETLINK ....................... no
DTLS ................................... no
OCSP-stapling .......................... no
SCTP ................................... no
Use system proxies ..................... no
GSSAPI ................................. no
Brotli Decompression Support ........... no
qIsEffectiveTLD() ...................... no
Built-in publicsuffix database ....... no
System publicsuffix database ......... no
Core tools:
Android deployment tool ................ no
macOS deployment tool .................. no
Windows deployment tool ................ no
qmake .................................. no
Qt Gui:
Accessibility .......................... yes
FreeType ............................... yes
Using system FreeType ................ no
HarfBuzz ............................... no
Using system HarfBuzz ................ no
Fontconfig ............................. no
Image formats:
GIF .................................. yes
ICO .................................. no
JPEG ................................. yes
Using system libjpeg ............... yes
PNG .................................. yes
Using system libpng ................ no
Text formats:
HtmlParser ........................... no
CssParser ............................ yes
OdfWriter ............................ no
MarkdownReader ....................... no
Using system libmd4c ............... no
MarkdownWriter ....................... no
EGL .................................... yes
OpenVG ................................. no
OpenGL:
Desktop OpenGL ....................... no
OpenGL ES 2.0 ........................ yes
OpenGL ES 3.0 ........................ no
OpenGL ES 3.1 ........................ no
OpenGL ES 3.2 ........................ no
Vulkan ................................. no
Session Management ..................... no
Features used by QPA backends:
evdev .................................. yes
libinput ............................... no
HiRes wheel support in libinput ........ no
INTEGRITY HID .......................... no
mtdev .................................. no
tslib .................................. no
xkbcommon .............................. no
X11 specific:
XLib ................................. no
XCB Xlib ............................. no
EGL on X11 ........................... no
xkbcommon-x11 ........................ no
xcb-sm ............................... no
QPA backends:
DirectFB ............................... no
EGLFS .................................. yes
EGLFS details:
EGLFS OpenWFD ........................ no
EGLFS i.Mx6 .......................... no
EGLFS i.Mx6 Wayland .................. no
EGLFS RCAR ........................... no
EGLFS EGLDevice ...................... no
EGLFS GBM ............................ no
EGLFS VSP2 ........................... no
EGLFS Mali ........................... no
EGLFS Raspberry Pi ................... no
EGLFS X11 ............................ no
LinuxFB ................................ no
VNC .................................... no
VK_KHR_display ......................... no
QNX:
lgmon ................................ no
IMF .................................. no
XCB:
Using system-provided xcb-xinput ..... no
GL integrations:
GLX Plugin ......................... no
XCB GLX .......................... no
EGL-X11 Plugin ..................... no
Windows:
Direct 2D ............................ no
Direct 2D 1.1 ........................ no
DirectWrite .......................... no
DirectWrite 3 ........................ no
Qt Widgets:
GTK+ ................................... no
Styles ................................. Fusion Windows
Qt PrintSupport:
CUPS ................................... no
Qt QML:
QML network support .................... yes
QML debugging and profiling support .... yes
QML just-in-time compiler .............. yes
QML XML http request ................... yes
QML Locale ............................. yes
Qt QML Models:
QML list model ......................... yes
QML delegate model ..................... yes
Qt Quick:
AnimatedImage item ..................... no
Canvas item ............................ yes
Support for Qt Quick Designer .......... yes
Flipable item .......................... yes
GridView item .......................... yes
ListView item .......................... yes
TableView item ......................... yes
TreeView item .......................... yes
Path support ........................... yes
PathView item .......................... yes
Positioner items ....................... yes
Repeater item .......................... yes
ShaderEffect item ...................... yes
Sprite item ............................ yes
Qt Quick Templates 2:
Hover support .......................... yes
Multi-touch support .................... yes
Calendar support ....................... yes
Qt Quick Controls 2:
Styles ................................. Basic Fusion Imagine iOS Material Universal macOS Windows
Qt 5 Compatibility Libraries:
iconv .................................. yes
Note: Due to CMAKE_STAGING_PREFIX usage and an unfixed CMake bug,
to ensure correct build time rpaths, directory-level install
rules like ninja src/gui/install will not work.
Check QTBUG-102592 for further details.Qt 6.5 was successfully configured and cross-compiled.
Toolchain file used for configurationProblem Description: After successfully cross-compiling and building the application for ARM architecture, I encounter the following error when running the app
[20240830-21:18:31.335-GMT D][3043][qt.core.library] unknown - "/pkg_/lib/QtQuick/Controls/Basic/libqtquickcontrols2basicstyleplugin.so" cannot load: Cannot load library /pkg_/lib/QtQuick/Controls/Basic/libqtquickcontrols2basicstyleplugin.so: (/pkg_/lib/QtQuick/Controls/Basic/libqtquickcontrols2basicstyleplugin.so: failed to map segment from shared object)
[20240830-21:18:31.335-GMT W][3043][default] unknown - QQmlApplicationEngine failed to load component
[20240830-21:18:31.336-GMT W][3043][default] unknown - qrc:/main2.qml:2:1: module "QtQuick.Controls" version 2.15 cannot be imported because:
Cannot load library /pkg_/lib/QtQuick/Controls/Basic/libqtquickcontrols2basicstyleplugin.so: (/pkg_/lib/QtQuick/Controls/Basic/libqtquickcontrols2basicstyleplugin.so: failed to map segment from shared object)Troubleshooting Steps Taken:
Verified the presence of libqtquickcontrols2basicstyleplugin.so at the specified path.
Checked permissions and file integrity.
Request for Assistance: I am unable to determine why the application cannot load the libqtquickcontrols2basicstyleplugin.so library. Any insights or suggestions on how to resolve this issue would be greatly appreciated.I sometimes see the below error as well i have added this qml file to qrc
[20240830-21:38:24.115-GMT D][8939][qt.qml.diskcache] unknown - Error loading "qrc:/main2.qml" from disk cache: "No such file or directory"
[20240830-21:38:24.116-GMT D][8939][qt.qml.import] unknown - addLibraryImport: qrc:/main2.qml "QtQuick" version ' 2.15 ' as ""
[20240830-21:38:24.117-GMT D][8939][qt.qml.import] unknown - importExtension: qrc:/main2.qml loaded ":/qt-project.org/imports/QtQuick/qmldir"
[20240830-21:38:24.117-GMT D][8939][qt.qml.import] unknown - resolvePlugin Could not resolve dynamic plugin with base name "qtquick2plugin" in ":/qt-project.org/imports/QtQuick" file does not exist
[20240830-21:38:24.150-GMT D][8939][qt.qml.import] unknown - loading dependent import "QtQml" version 2.15 as ""
[20240830-21:38:24.151-GMT D][8939][qt.qml.import] unknown - addLibraryImport: qrc:/main2.qml "QtQml" version ' 2.15 ' as ""
[20240830-21:38:24.151-GMT D][8939][qt.qml.import] unknown - importExtension: qrc:/main2.qml loaded ":/qt-project.org/imports/QtQml/qmldir"
[20240830-21:38:24.152-GMT D][8939][qt.qml.import] unknown - resolvePlugin Could not resolve dynamic plugin with base name "qmlmetaplugin" in ":/qt-project.org/imports/QtQml" file does not exist