First, thank you very much for taking the time to read this issue. DigiKam is an excellent application, and I sincerely appreciate the work that has gone into it. I am currently trying to use the latest DigiKam on one of my embedded ARM64 systems (Orange Pi, Ubuntu 22.04). However, I noticed that the version available via apt is quite outdated. To work around this, I tried building DigiKam from source. During that process, I encountered several build-related issues. From the perspective of someone who would like to contribute to the project, I found the current build workflow rather difficult to navigate. I would like to share some of the issues I ran into, and I would also be happy to help improve the situation if possible. Issues and points of confusion Lack of official ARM64 Linux support I could not find any official installation packages or clear build instructions specifically for ARM64 Linux. Dependency handling is complex across platforms For example, on Linux, after using https://github.com/cgilles/digikam-install-deps.git to install dependencies, packaging the result as an AppImage becomes problematic because some dependency paths need to point to /opt/qt6/*. In addition, Qt6 on ARM64 has specific OS requirements. According to the Qt documentation (https://doc.qt.io/qt-6/linux.html), ARM64 is only supported on certain Linux distributions: Ubuntu 24.04 (GCC 13.x) Debian 11.6 (GCC 10) Debian 12 (GCC 12) However, this requirement does not appear to be checked in https://github.com/cgilles/digikam-install-deps.git. Documentation issue in the official Linux build instructions On the following page: https://www.digikam.org/download/git/ In the Linux section for Qt6, the instructions currently say: bash ./bootstrap.linux cd build make -j4 However, cd build appears to be incorrect; it should be: bash cd build.qt6 Build scripts are distributed across multiple locations In addition to the build-related scripts under ./bootstrap.xxx, there are also scripts under digikam/project/bundles. For new contributors, this makes it difficult to understand which build path should be followed. Suggestion I would like to suggest considering a more unified build toolchain, similar to Chromium’s approach. For example, using a single dependency-fetching tool such as depot_tools could simplify dependency management across platforms and avoid the need for different installation methods in different environments. It would also be helpful to have a build system that clearly separates outputs for different platforms, similar to: gn gen out/android_debug gn gen out/ios_debug I hope these points are useful. If there is interest in improving the build system, I would be very happy to help in any way I can. Thank you again for your time and for your work on DigiKam.
* "Dependency handling is complex across platforms For example, on Linux, after using https://github.com/cgilles/digikam-install-deps.git to install dependencies, packaging the result as an AppImage becomes problematic because some dependency paths need to point to /opt/qt6/*." > We install in /opt/Qt6 to not mix with the system libs. By this way, qt5 (always supported) come from /usr/, Qt6 come from /opt/. Here my main dev computer is a macbook pro M1 Silicon (arm64). I run a VM (using UTM) with Ubuntu 24.04LTS and Plasma desktop. I compile last Qt 6.11 without problem installed in /opt/qt6 and Qt5 is installed in /usr using standard packages. No problem to support arm64 at all. * "In addition, Qt6 on ARM64 has specific OS requirements. According to the Qt documentation (https://doc.qt.io/qt-6/linux.html), ARM64 is only supported on certain Linux distributions: Ubuntu 24.04 (GCC 13.x) Debian 11.6 (GCC 10) Debian 12 (GCC 12) However, this requirement does not appear to be checked in https://github.com/cgilles/digikam-install-deps.git." > Fell free to provide a merge request for this feature.
Git commit 7056d2d167bbec267b3fa1c22317d4b3ec2d4078 by Gilles Caulier. Committed on 11/04/2026 at 08:01. Pushed by cgilles into branch 'dev'. fic build directory M +1 -1 content/download/git.md https://invent.kde.org/websites/digikam-org/-/commit/7056d2d167bbec267b3fa1c22317d4b3ec2d4078
In addition, Qt6 on ARM64 has specific OS requirements. According to the Qt documentation (https://doc.qt.io/qt-6/linux.html), ARM64 is only supported on certain Linux distributions: Ubuntu 24.04 (GCC 13.x) Debian 11.6 (GCC 10) Debian 12 (GCC 12) However, this requirement does not appear to be checked in https://github.com/cgilles/digikam-install-deps.git. > The supported configurations list given at https://doc.qt.io/qt-6/linux.html#supported-configurations especially for Arm64 are the platteforms used with the CI used by Qt team to check if compilation pass or not. Other extra configuration can works of course. Qt team must limit the test cases here. It's the same for Intel support.
It would also be helpful to have a build system that clearly separates outputs for different platforms, similar to: gn gen out/android_debug gn gen out/ios_debug I hope these points are useful. If there is interest in improving the build system, I would be very happy to help in any way I can. > Definitively no. Cmake toolkit is used here to check dependencies across different platforms.