rpi3 device missing
-
I'm trying to cross-compile Qt5.6 for Raspberry Pi 3 as described here:
https://wiki.qt.io/RaspberryPi2EGLFS
the doc says to configure qtbase as follow:
./configure -release -opengl es2 -device linux-rasp-pi2-g++ [...]
but changing the device to linux-rasp-pi3-g++ leads to this error:
Error: No device matching 'linux-rasp-pi3-g++'
What is the right way to to this?
-
Hi,
Do you mean the
linux-rpi3-g++
mkspecs ? -
Well, instinctively I would have follow the same pattern as you did before checking.
I don't know why the naming for the RPi3 doesn't follow the others.
-
@SGaist ./configure -top-level -release -opengl es2 -device linux-rpi3-g++ -device-option CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf -sysroot /home/fs/raspi/sysroot -opensource -confirm-license -make libs -prefix usr/local/qt5pi -extprefix /home/fs/raspi/qt5pi -hostprefix /home/fs/raspi/qt5 -v
Creating qmake...
make: Nothing to be done for 'first'.
Command line: -release -opengl es2 -device linux-rpi3-g++ -device-option CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf -sysroot /home/fs/raspi/sysroot -opensource -confirm-license -make libs -prefix usr/local/qt5pi -extprefix /home/fs/raspi/qt5pi -hostprefix /home/fs/raspi/qt5 -v
ERROR: No device matching 'linux-rpi3-g++'.linux-rpi3-g++ is not working on qt 5.9
-
Try with
linux-rasp-pi3-g++
-
@SGaist said in rpi3 device missing:
linux-rasp-pi3-g++
./configure -top-level -release -opengl es2 -device linux-rasp-pi3-g++ -device-option CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf -sysroot /home/fs/raspi/sysroot -opensource -confirm-license -make libs -prefix usr/local/qt5pi -extprefix /home/fs/raspi/qt5pi -hostprefix /home/fs/raspi/qt5 -v
Creating qmake...
make: Nothing to be done for 'first'.
Command line: -release -opengl es2 -device linux-rasp-pi3-g++ -device-option CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf -sysroot /home/fs/raspi/sysroot -opensource -confirm-license -make libs -prefix usr/local/qt5pi -extprefix /home/fs/raspi/qt5pi -hostprefix /home/fs/raspi/qt5 -vThis is the Qt Open Source Edition.
You have already accepted the terms of the Open Source license.
Running configuration tests...
Checking for valid makespec...- cd /home/user/Downloads/qt-everywhere-opensource-src-5.9.1/config.tests/common/verifyspec && /home/user/Downloads/qt-everywhere-opensource-src-5.9.1/qtbase/bin/qmake "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared console single_arch" "QMAKE_CFLAGS += --sysroot=/home/fs/raspi/sysroot" "QMAKE_CXXFLAGS += --sysroot=/home/fs/raspi/sysroot" "QMAKE_LFLAGS += --sysroot=/home/fs/raspi/sysroot" -early "CONFIG += cross_compile" /home/user/Downloads/qt-everywhere-opensource-src-5.9.1/qtbase/config.tests/common/verifyspec
Project ERROR: Compiler /usr/bin/arm-linux-gnueabihfg++ not found. Check the value of CROSS_COMPILE -device-option
Note: Also available for Linux: linux-clang linux-iccERROR: Cannot compile a minimal program. The toolchain or QMakeSpec is broken.
Still not working
-
Seriously, did you even try to understand the error message ?
/usr/bin/arm-linux-gnueabihfg++
doesn't exist on your system hence the error message. It's likely/usr/bin/arm-linux-gnueabihf-g++
thus you are missing the final-
in yourCROSS_COMPILE
statement. -
I already have it
user@KELLGGNLPTP0232:~$ arm-linux-gnueabihf-g++
arm-linux-gnueabihf-g++: fatal error: no input files
compilation terminated.user@KELLGGNLPTP0232:~$ which arm-linux-gnueabihf-g++
/usr/bin/arm-linux-gnueabihf-g++ -
Here is the catch
you have to use arm-linux-gnueabihf-'' instead of arm-linux-gnueabihf.
@SGaist thanks for your help