Linux ARM64 AppImage release
Martin Dýma
For more versatile usage of the QField during field works it would be greate, if we could use it on arm64 devices with GNU linux distros - as Raspberry Pi devices or ARM64 (aarch64) based laptops.
An ARM64 AppImage is possible to create for linux - e. g. FreeCAD developers created AppImage for ARM64 (https://www.freecad.org/downloads.php).
I started more times to build QField on my Raspberry Pi, but it always stopped on some Qt dependencies - nor VCPKG solution cant handle these dependences (I quess if it could be set to deal with this?). I'm not a programmer, but who is more experienced can go further.
##############################################################
Some notes from my last attempt to build it on fresh rasbperry pi os trixie on raspberry pi 5
##############################################################
## Build on the master branch after c9f5523 commit
VCPKG informs that 'arm64-linux' is community triplet,
which is not built in the curated registry and is thus less likely to succeed.
sudo apt install cmake # You need to have cmake installed.
## Dependencies for configuration (cmake -S QField -B build)
sudo apt install bison flex autoconf # without it failed on 17th package 'libpq'
sudo apt install autoconf-archive libtool # without it failed on 23rd package 'gperf'
After that it failed on 84th package 'qtbase' this solution helped:
sudo apt install qt6-base-dev
this 2 rows
sudo apt-get install libboost-all-dev libudev-dev libinput-dev libts-dev libmtdev-dev libjpeg-dev libfontconfig1-dev libssl-dev libdbus-1-dev libglib2.0-dev libxkbcommon-dev libegl1-mesa-dev libgbm-dev libgles2-mesa-dev mesa-common-dev libasound2-dev libpulse-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-alsa libvpx-dev libsrtp2-dev libsnappy-dev libnss3-dev "^libxcb.*" flex bison libxslt-dev ruby gperf libbz2-dev libcups2-dev libatkmm-1.6-dev libxi6 libxcomposite1 libfreetype6-dev libicu-dev libsqlite3-dev libxslt1-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libx11-dev freetds-dev libsqlite3-dev libpq-dev libiodbc2-dev firebird-dev libxext-dev libxcb1 libxcb1-dev libx11-xcb1 libx11-xcb-dev libxcb-keysyms1 libxcb-keysyms1-dev libxcb-image0 libxcb-image0-dev libxcb-shm0 libxcb-shm0-dev libxcb-icccm4 libxcb-icccm4-dev libxcb-sync1 libxcb-sync-dev libxcb-render-util0 libxcb-render-util0-dev libxcb-xfixes0-dev libxrender-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-glx0-dev libxi-dev libdrm-dev libxcb-xinerama0 libxcb-xinerama0-dev libatspi2.0-dev libxcursor-dev libxcomposite-dev libxdamage-dev libxss-dev libxtst-dev libpci-dev libcap-dev libxrandr-dev libaudio-dev libxkbcommon-x11-dev gdbserver
but maybe only this is enough?:
sudo apt-get install '^libxcb.*-dev'libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev libegl1-mesa-dev
after that it failed on 86th package 'qtshadertools'
- Reported erros are in the log files are:
"Package 'xkbcommon-x11' not found"
"The link interface of target "Qt6::QXcbEglIntegrationPlugin" contains:
Qt6::XcbQpaPrivate
but the target was not found",
etc. -
nothing of the next rows helped
sudo apt install
qt6
dev*sudo apt install libxcb*dev
sudo apt install libghc-xcb-types-dev
sudo apt install
libxcb
sudo apt install
lib
qt6*sudo apt install
xkb
sudo apt install qtcreator
sudo apt install
-qt6
sudo apt install qt6*
sudo apt install libx11*
After some googling it looks, that problems with finding
xcb and xkb packages are not rare during qt compiling
some of solutions needs editing cmake files, which I'm
not experienced with.