Open adri94 opened 3 years ago
I've tried following their compilation instructions. https://dev.qgroundcontrol.com/master/en/getting_started/index.html
git clone --recursive -j8 https://github.com/mavlink/qgroundcontrol.git
cd qgroundcontrol
mkdir build
cd build
qmake ../
The build failed on the qmake
command:
pi@raspberrypi:~/qgroundcontrol/build $ qmake ../
Info: creating stash file /home/pi/qgroundcontrol/build/.qmake.stash
Project MESSAGE: Qt version 5.11.3
Project MESSAGE: Linux build
Project MESSAGE: Daily Build
Project MESSAGE: QGroundControl Development master:36f7c2212 2021-02-06 00:32:56 +0000
Project MESSAGE: Release flavor
Project MESSAGE: Using Default QtLocation headers
Project MESSAGE: Skipping support for Pairing
Project MESSAGE: Using MAVLink dialect 'ardupilotmega'.
Project MESSAGE: Skipping support for Zeroconf (unsupported platform)
Project MESSAGE: Looking for Airmap in folder "/home/pi/qgroundcontrol/libs/airmapd", variant: "Qt.5.11"
Project MESSAGE: Taisync disabled
Project MESSAGE: Microhard disabled
Project MESSAGE: Skipping support for video streaming (GStreamer libraries not installed)
Project MESSAGE: Installation instructions here: https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoReceiver/README.md
Project ERROR: Unknown module(s) in QT: location positioning quickcontrols2 texttospeech serialport location-private positioning-private waylandclient
After installing everything QT-related I could find:
sudo apt install qt*-dev libqt*-dev
There are now fewer unknown modules.
Project ERROR: Unknown module(s) in QT: location-private positioning-private
There appears to be no qt packages that match those. I'll need someone with more QT knowledge to look at this and see how to fix it.
I have found this :
"This worked for me. Just change version to match you environment:
sudo apt-get install speech-dispatcher libudev-dev libsdl2-dev libgstreamer1.0-0 gstreamer1.0-plugins-base libgstreamer-plugins-base1.0-dev libudev-dev libinput-dev libts-dev libxcb-xinerama0-dev libxcb-xinerama0 qt5-default qtbase5-private-dev qtbase5-dev qtbase5-dev-tools libqt5texttospeech5-dev libqt5svg5-dev qtmultimedia5-dev libqt5serialbus5-dev libqt5charts5-dev libqt5serialport5-dev qtdeclarative5-private-dev qttools5-private-dev qtquickcontrols2-5-dev libssl-dev
rm -rf qtlocation
git clone https://github.com/qt/qtlocation.git
cd qtlocation
git checkout v5.11.3
mkdir build
cd build/
qmake ../qtlocation.pro
make -j4
sudo make install
Source: https://discuss.ardupilot.org/t/how-to-cross-compile-qgroundcontrol-for-raspberry-pi3/26790/42"
sudo apt install speech-dispatcher libudev-dev libsdl2-dev libgstreamer1.0-0 gstreamer1.0-plugins-base libgstreamer-plugins-base1.0-dev libudev-dev libinput-dev libts-dev libxcb-xinerama0-dev libxcb-xinerama0 qt5-default qtbase5-private-dev qtbase5-dev qtbase5-dev-tools libqt5texttospeech5-dev libqt5svg5-dev qtmultimedia5-dev libqt5serialbus5-dev libqt5charts5-dev libqt5serialport5-dev qtdeclarative5-private-dev qttools5-private-dev qtquickcontrols2-5-dev libssl-dev
cd ~/
rm -rf qtlocation
git clone https://github.com/qt/qtlocation
cd qtlocation
git checkout v5.11.3
mkdir build
cd build/
qmake ../qtlocation.pro
make -j4
sudo make install
sudo apt install libqt5x11extras5-dev libqt5waylandclient5-dev
cd ~/
git clone --recursive -j8 https://github.com/mavlink/qgroundcontrol.git
cd qgroundcontrol
mkdir build
cd build
qmake ../
All of the above is untested. It's simply my way to documenting my progress.
I'm stuck on Project ERROR: Library 'wayland-client' is not defined.
It doesn't look possible.
If someone gets it working then we can re-open the issue.
Hey I have replied on https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=310817&p=1861368#p1861368.
Have a look into it, I have compiled it successfully. Let me know in case of any issue.
Thanks
Have a look into it, I have compiled it successfully. Let me know in case of any issue.
Thanks
Excellent! Let's try to make a script that installs qgroundcontrol:
#!/bin/bash
set -e #exit on any errors
git clone https://github.com/mavlink/qgroundcontrol.git
cd qgroundcontrol
git checkout Stable_V3.5.6
mkdir build
cd build
git submodule update --init --recursive
echo 'linux {
linux-g++ | linux-g++-64 | linux-g++-32 | linux-clang {
# message("Linux build")
# CONFIG += LinuxBuild
# DEFINES += __STDC_LIMIT_MACROS
# DEFINES += QGC_GST_TAISYNC_ENABLED
# DEFINES += QGC_GST_MICROHARD_ENABLED
# linux-clang {
# message("Linux clang")
# QMAKE_CXXFLAGS += -Qunused-arguments -fcolor-diagnostics
# }
# } else : linux-rasp-pi3-g++ {
message("Linux R-Pi2 build")
CONFIG += LinuxBuild
DEFINES += __STDC_LIMIT_MACROS __rasp_pi2__
DEFINES += QGC_GST_TAISYNC_ENABLED
DEFINES += QGC_GST_MICROHARD_ENABLED' > $(pwd)/QGCCommon.pri
qmake -r ../qgroundcontrol.pro CONFIG+=release
make -j1
I reached to advanced step in building QGC (master or 4.1.3) for arm (Specifically: aarch64 processor in Nvidia Jetson nano kit 2GB -Ubuntu 18.04). To do that, i prepared the following:
it is still under compiling
Hello,
Thank you for the work on this matter. I tried the install script but I get this :
Project ERROR: Unknown module(s) in QT: location positioning location-private positioning-private
I just wanted to note it should not be required to build qtlocation from source, it is available (as well as with the dev libraries) at qtlocation5-dev
(which will install the other qtlocation dependencies)
I was happy to see Mission Planner on PiApps but it runs with mono. I tried to compile QGC for arm but I am not skilled enough. Do you think it is possible to add it to piApps ?
Thanks,