QGroundControl for Linux aarch64

Hello,

I am trying to install QGroundControl on Jetson Orin Nano. Jetson Orin Nano is on Ubuntu 22.04 with aarch64. I cannot find a stable version of QGroundControl for that Linux architecture. I see one in Daily Build but that version comes with GLIBC_2.38. The GLIBC on Jetson Orin Nano is 2.35. Any help is much appreciated.

Mustafa

I fear you will have to build yourself, or update your Jetson Orin Nano to something newer if you can.

Hi @JulianOes Thank you for your reply. Much appreciated. Could you please point me the documentation for that? I looked around but I could not tell where to start. Thank you.
Mustafa

Hi @JulianOes I think I was able to locate the build steps here.

I am following Build using CMake on CLI option as oppose to QTCreator option.

In Step 2 Configure. I am getting the following error. Could you be able to help?

Mustafa

jetson@ubuntu:~/git/qgroundcontrol$ ~/Qt/6.10.1/gcc_arm64/bin/qt-cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug

-- BuildConfig: Qt 6.10.1, GStreamer 1.24.13, NDK r27c

-- QGC: Using ccache (/usr/bin/ccache)

-- QGC: PIE enabled

-- QGC: Using mold linker

-- Could NOT find Qt6Core5Compat (missing: Qt6Core5Compat_DIR)

CMake Error at CMakeLists.txt:155 (find_package):

Found package configuration file:

/home/jetson/Qt/6.10.1/gcc_arm64/lib/cmake/Qt6/Qt6Config.cmake

but it set Qt6_FOUND to FALSE so package “Qt6” is considered to be NOT

FOUND. Reason given by package:

Failed to find required Qt component “Core5Compat”.

Expected Config file at

“/home/jetson/Qt/6.10.1/gcc_arm64/lib/cmake/Qt6Core5Compat/Qt6Core5CompatConfig.cmake”

does NOT exist

Configuring with --debug-find-pkg=Qt6Core5Compat might reveal details why

the package was not found.

find_package search path values and other context for the last package that was not found:

CMAKE_MODULE_PATH: /home/jetson/Qt/6.10.1/gcc_arm64/lib/cmake/Qt6/platforms;/home/jetson/git/qgroundcontrol/cmake;/home/jetson/git/qgroundcontrol/cmake/CPack;/home/jetson/git/qgroundcontrol/cmake/find-modules;/home/jetson/git/qgroundcontrol/cmake/install;/home/jetson/git/qgroundcontrol/cmake/install/CPack;/home/jetson/git/qgroundcontrol/cmake/modules;/home/jetson/git/qgroundcontrol/cmake/platform;/home/jetson/Qt/6.10.1/gcc_arm64/lib/cmake/Qt6;/home/jetson/Qt/6.10.1/gcc_arm64/lib/cmake/Qt6/3rdparty/extra-cmake-modules/find-modules;/home/jetson/Qt/6.10.1/gcc_arm64/lib/cmake/Qt6/3rdparty/kwin

CMAKE_PREFIX_PATH: /home/jetson/Qt/6.10.1/gcc_arm64/lib/cmake;\~/Qt/6.10.1/gcc_arm64/lib/cmake

$ENV{CMAKE_PREFIX_PATH}: 

CMAKE_FIND_ROOT_PATH: /home/jetson/Qt/6.10.1/gcc_arm64

\_qt_additional_packages_prefix_paths: 

\_qt_additional_host_packages_prefix_paths: 

\_qt_cmake_dir: /home/jetson/Qt/6.10.1/gcc_arm64/lib/cmake

QT_HOST_PATH: 

Qt6HostInfo_DIR: 

Qt6_DIR: /home/jetson/Qt/6.10.1/gcc_arm64/lib/cmake/Qt6

CMAKE_TOOLCHAIN_FILE: /home/jetson/Qt/6.10.1/gcc_arm64/bin/../lib/cmake/Qt6/qt.toolchain.cmake

CMAKE_FIND_ROOT_PATH_MODE_PACKAGE: 

CMAKE_SYSROOT: 

$ENV{PATH}: /opt/ros/humble/bin:/home/jetson/.local/bin:/usr/lib/jvm/jdk-25.0.1-oracle-aarch64/bin:/usr/local/cuda-12.6/bin:/home/jetson/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

-- Configuring incomplete, errors occurred!

Hi @JulianOes I am not sure if you are directly involved in build issues with QGroundControl but I made some progress today and I wanted to share the latest with you. I was missing QT libraries and I installed them and rerun the configuration. Unfortunately, to my disappointment the configuration still failed with the following errors:

QGroundControl Configuration Summary

-- Generated at: 2025-12-28 20:59:22 MST

-- ==================================================================

--

-- CMake System:

-- CMake version: 4.2.1

-- Generator: Ninja

-- Build type: Debug

-- Source directory: /home/jetson/git/qgroundcontrol

-- Install prefix: /home/jetson/git/qgroundcontrol/build/AppDir/usr

-- Host system: Linux 5.15.148-tegra

-- Target system: Linux 5.15.148-tegra

-- Toolchain file: /home/jetson/Qt/6.10.1/gcc_arm64/bin/../lib/cmake/Qt6/qt.toolchain.cmake

-- Prefix path: /home/jetson/Qt/6.10.1/gcc_arm64/lib/cmake;~/Qt/6.10.1/gcc_arm64/lib/cmake

--

-- Compiler & Linker:

-- C++ compiler: GNU 11.4.0

-- C++ standard: C++20

--

-- Application:

-- Name: QGroundControl

-- Version: v5.0.3-542-gcf486a791

-- Description: Open Source Ground Control App

-- Organization: QGroundControl (qgroundcontrol.com)

-- Package name: org.mavlink.qgroundcontrol

-- Settings version: 9

--

-- Build & Feature Flags:

-- Stable build : OFF

-- Use build caching : ON

-- Enable testing : ON

-- Enable QML debugging : ON

-- Enable QML linting : OFF

-- Enable 3D Viewer : ON

-- Enable Bluetooth links : ON

-- Enable ZeroConf compatibility : OFF

-- Disable AIRLink : ON

-- Disable serial links : OFF

-- Enable UVC devices : ON

-- Enable GStreamer video : ON

-- Enable Qt video backend : OFF

-- Disable APM MAVLink dialect : OFF

-- Disable APM plugin : OFF

-- Disable PX4 plugin : OFF

--

-- External Dependencies:

-- MAVLink repo: GitHub - mavlink/mavlink: Marshalling / communication library for drones.

-- MAVLink tag: dd17c1a65de7b9ad8dd6e3491a8690c0d0b27ba1

-- CPM cache: /home/jetson/git/qgroundcontrol/build/cpm_modules

-- QML output dir: /home/jetson/git/qgroundcontrol/build/qml

--

-- Linux Platform:

-- AppImage: Enabled

--

-- ==================================================================

--

/home/jetson/Qt/6.10.1/gcc_arm64/libexec/qmlimportscanner: /lib/aarch64-linux-gnu/libm.so.6: version `GLIBC_2.38’ not found (required by /home/jetson/Qt/6.10.1/gcc_arm64/libexec/../lib/libQt6Qml.so.6)

/home/jetson/Qt/6.10.1/gcc_arm64/libexec/qmlimportscanner: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.38’ not found (required by /home/jetson/Qt/6.10.1/gcc_arm64/libexec/../lib/libQt6Network.so.6)

CMake Error at /home/jetson/Qt/6.10.1/gcc_arm64/lib/cmake/Qt6Qml/Qt6QmlMacros.cmake:4569 (message):

Failed to scan target QGroundControl for QML imports: 1

Call Stack (most recent call first):

/home/jetson/Qt/6.10.1/gcc_arm64/lib/cmake/Qt6Qml/Qt6QmlMacros.cmake:4624 (_qt_internal_scan_qml_imports)

/home/jetson/Qt/6.10.1/gcc_arm64/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:799 (qt6_import_qml_plugins)

/home/jetson/Qt/6.10.1/gcc_arm64/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:799 (cmake_language)

/home/jetson/Qt/6.10.1/gcc_arm64/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:877 (_qt_internal_finalize_executable)

/home/jetson/Qt/6.10.1/gcc_arm64/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:846:EVAL:1 (qt6_finalize_target)

CMakeLists.txt:DEFERRED

Interesting, so it looks like the dependencies to glibc 2.38 might come from Qt6.10.1 then.

The Qt docs confirm this:

The official binaries are built on Ubuntu 24.04 which ships with glibc 2.39, if your glibc is older than what we build with, you need to rebuild from sources.

So, you would have to rebuild Qt from source. What a pain. If it was me, I’d try to get the Jetson to 24.04 first (e.g. see Upgrade Jetson AGX Orin to Ubuntu 24.04 - HackMD).

Hi @JulianOes I was able to build and install Qt (6.10.1) as well as linguist-qt6 and finally build and install QGroundControl from source in Jetson Orin Nano.

Mustafa

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.