raspberry-picross-compilingraspberry-pi3qt5.7

How to cross-compile for RasPi3


I am currently trying to cross-compile Qt 5.7 for my Raspberry Pi 3. This is my first cross-compiling atempt, so please be kind. :)

On the Qt Wiki I found instructions for the Raspberry Pi 2, which I am currently trying to adapt.

The compile line for RasPi 2 is as follows:

./configure -release -opengl es2 -device linux-rasp-pi2-g++ -device-option \
CROSS_COMPILE=~/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf- \
-sysroot ~/raspi/sysroot -opensource -confirm-license -make libs \
-prefix /usr/local/qt5pi -extprefix ~/raspi/qt5pi -hostprefix ~/raspi/qt5 -v

I replaced the option

-device linux-rasp-pi2-g++

by

-device linux-rpi3-g++

as I found within the raspi-tools folder.

Now I am stuck at the option

CROSS_COMPILE=~/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-

as in the ~/raspi/tools/ folder I cannot see any obviously raspi3-related entry. There is only the arm-bcm2708/ folder. Shouldn't there be some bcm2837 entry? Does that mean there is no support for RasPi 3 yet or am I missing something?

Thank you for any hints.


Solution

  • The arm-bcm2708/ folder is just a name. It contains several build tool chains. It's perfectly fine to use system-installed tool chains as well. So I installed the package g++-arm-linux-gnueabihf on my build machine (Debian GNU/Linux) and used this configure call:

    ./configure -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