From 10:00 CET Friday 22nd November we will adjust how the server works to deal with some recently reported problems. Therefore there may be a load problem, if you experience more problems than usual trying to access the forum then please PM AndyS or any of the moderators so they can inform me.


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?


  • Lifetime Qt Champion

    Hi,

    Do you mean the linux-rpi3-g++ mkspecs ?



  • @SGaist Yes, I didn't imagine it because it's different than rpi2!


  • Lifetime Qt Champion

    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


  • Lifetime Qt Champion

    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 -v

    This 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-icc

    ERROR: Cannot compile a minimal program. The toolchain or QMakeSpec is broken.

    Still not working


  • Lifetime Qt Champion

    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 your CROSS_COMPILE statement.



  • @SGaist

    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