RaspberryPi2EGLFS
-
Hello, I just started the guide for cross-compile https://wiki.qt.io/RaspberryPi2EGLFS
and at step 10 after introducing the command:
./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 get this:
<srcbase> = /home/mihai/Desktop/raspi/qtbase
<bldbase> = /home/mihai/Desktop/raspi/qtbase
<outbase> = /home/mihai/Desktop/raspi/qtbase
Creating qmake...
make: Nothing to be done for 'first'.
Command line: -release -opengl es2 -device linux-rasp-pi2-g++ -device-option CROSS_COMPILE=/home/mihai/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf- -sysroot /home/mihai/raspi/sysroot -opensource -confirm-license -make libs -prefix /usr/local/qt5pi -extprefix /home/mihai/raspi/qt5pi -hostprefix /home/mihai/raspi/qt5 -v
Project ERROR: Cannot run target compiler '/home/mihai/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++'. Output:===================
Maybe you forgot to setup the environment?Can someoane help me about solving this :D?
-
@MihaiJunior said in RaspberryPi2EGLFS:
/home/mihai/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++
Does this exist and is executable?
-
Yes, it exists but I can't run it when I doubleclick it.
-
@MihaiJunior You should run it in a terminal and not double click, it's not a GUI application...
-
./arm-linux-gnueabihf-g++
arm-linux-gnueabihf-g++: fatal error: no input files
compilation terminated.This is the result after run it in terminal.
-
@MihaiJunior You should rather try whole path to make sure it is correct: /home/mihai/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++
-
@jsulm said in RaspberryPi2EGLFS:
/home/mihai/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++
I am already in the path:
~/Desktop/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin$ -
@MihaiJunior It's not the same path:
/home/mihai/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++ ~/Desktop/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin
You're in Desktop but the in the compiler path there is no Desktop directory.
So please make sure exact same path as called during configure is valid and executable. -
Result: No such file or directory
Is there any method we can share screens and you might help me? -
@MihaiJunior said in RaspberryPi2EGLFS:
Is there any method we can share screens and you might help me?
No, and I'm not going to do this anyway.
It looks like you're passing wrong path to configure:CROSS_COMPILE=~/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf
-
I change it and I have the same result :(
./configure -release -opengl es2 -device linux-rasp-pi2-g++ -device-option CROSS_COMPILE=home/mihai/Desktop/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
<srcbase> = /home/mihai/Desktop/raspi/qtbase
<bldbase> = /home/mihai/Desktop/raspi/qtbase
<outbase> = /home/mihai/Desktop/raspi/qtbase
Creating qmake...
make: Nothing to be done for 'first'.
Command line: -release -opengl es2 -device linux-rasp-pi2-g++ -device-option CROSS_COMPILE=home/mihai/Desktop/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf- -sysroot /home/mihai/raspi/sysroot -opensource -confirm-license -make libs -prefix /usr/local/qt5pi -extprefix /home/mihai/raspi/qt5pi -hostprefix /home/mihai/raspi/qt5 -v
Project ERROR: Cannot run target compiler 'home/mihai/Desktop/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++'. Output:===================
Maybe you forgot to setup the environment? -
-
Same result...
-
Still unsolved, I'm open to any method that cand solve this
-
Update !!!:
I changed the command into:
./configure -release -opengl es2 -device linux-rasp-pi2-g++ -device-option CROSS_COMPILE=/home/mihai/Desktop/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- -sysroot ~/raspi/sysroot -opensource -confirm-license -make libs -prefix /usr/local/qt5pi -extprefix ~/raspi/qt5pi -hostprefix ~/raspi/qt5 -v -no-use-gold-linker
And now I have this result with the following error:
<srcbase> = /home/mihai/Desktop/raspi/qtbase
<bldbase> = /home/mihai/Desktop/raspi/qtbase
<outbase> = /home/mihai/Desktop/raspi/qtbase
Creating qmake...
make: Nothing to be done for 'first'.
Command line: -release -opengl es2 -device linux-rasp-pi2-g++ -device-option CROSS_COMPILE=/home/mihai/Desktop/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- -sysroot /home/mihai/raspi/sysroot -opensource -confirm-license -make libs -prefix /usr/local/qt5pi -extprefix /home/mihai/raspi/qt5pi -hostprefix /home/mihai/raspi/qt5 -v -no-use-gold-linkerThis is the Qt Open Source Edition.
You have already accepted the terms of the Open Source license.
Running configuration tests...
- /home/mihai/Desktop/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++ -dumpmachine
arm-linux-gnueabihf
Checking for valid makespec...- cd /home/mihai/Desktop/raspi/qtbase/config.tests/verifyspec && /home/mihai/Desktop/raspi/qtbase/bin/qmake "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared warn_off console single_arch" "QMAKE_CFLAGS += --sysroot=/home/mihai/raspi/sysroot" "QMAKE_CXXFLAGS += --sysroot=/home/mihai/raspi/sysroot" "QMAKE_LFLAGS += --sysroot=/home/mihai/raspi/sysroot" -early "CONFIG += cross_compile" /home/mihai/Desktop/raspi/qtbase/config.tests/verifyspec
- cd /home/mihai/Desktop/raspi/qtbase/config.tests/verifyspec && MAKEFLAGS= /usr/bin/make clean && MAKEFLAGS= /usr/bin/make
rm -f verifyspec.o
rm -f *~ core *.core
/home/mihai/Desktop/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++ -c -pipe -march=armv7-a -marm -mthumb-interwork -mfpu=neon-vfpv4 -mtune=cortex-a7 -mabi=aapcs-linux -mfloat-abi=hard --sysroot=/home/mihai/raspi/sysroot -O2 -std=gnu++11 -w -fPIC -I. -I/home/mihai/Desktop/raspi/qtbase/mkspecs/devices/linux-rasp-pi2-g++ -o verifyspec.o verifyspec.cpp
/home/mihai/Desktop/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++ -mfloat-abi=hard --sysroot=/home/mihai/raspi/sysroot -Wl,-O1 -Wl,-rpath-link,/home/mihai/raspi/sysroot/opt/vc/lib -Wl,-rpath-link,/home/mihai/raspi/sysroot/usr/lib/arm-linux-gnueabihf -Wl,-rpath-link,/home/mihai/raspi/sysroot/lib/arm-linux-gnueabihf -o verifyspec verifyspec.o
/home/mihai/Desktop/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/ld: cannot find crt1.o: No such file or directory
/home/mihai/Desktop/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/ld: cannot find crti.o: No such file or directory
/home/mihai/Desktop/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lm
collect2: error: ld returned 1 exit status
make: *** [Makefile:69: verifyspec] Error 1
Note: Also available for Linux: linux-clang linux-iccERROR: Cannot compile a minimal program. The toolchain or QMakeSpec is broken.
-
@MihaiJunior Is the path to sysroot correct and does it contain the sysroot?
~/raspi/sysroot -
I change it and it work and after few minutes of instalation i got this:
/home/mihai/Desktop/raspi/qtbase/lib/libQt5EglSupport.a(qeglplatformcontext.o): In functionQEGLPlatformContext::getProcAddress(char const*)': qeglplatformcontext.cpp:(.text+0xa4): undefined reference to
dlsym'
collect2: error: ld returned 1 exit status
make[5]: *** [Makefile.eglfsdeviceintegration:252: ../../../../lib/libQt5EglFSDeviceIntegration.so.5.12.5] Error 1
make[5]: Leaving directory '/home/mihai/Desktop/raspi/qtbase/src/plugins/platforms/eglfs'
make[4]: *** [Makefile:62: sub-eglfsdeviceintegration-pro-install_subtargets-ordered] Error 2
make[4]: Leaving directory '/home/mihai/Desktop/raspi/qtbase/src/plugins/platforms/eglfs'
make[3]: *** [Makefile:114: sub-eglfs-install_subtargets] Error 2
make[3]: Leaving directory '/home/mihai/Desktop/raspi/qtbase/src/plugins/platforms'
make[2]: *** [Makefile:90: sub-platforms-install_subtargets] Error 2
make[2]: Leaving directory '/home/mihai/Desktop/raspi/qtbase/src/plugins'
make[1]: *** [Makefile:844: sub-plugins-install_subtargets] Error 2
make[1]: Leaving directory '/home/mihai/Desktop/raspi/qtbase/src'
make: *** [Makefile:63: sub-src-install_subtargets] Error 2 -
@jsulm @Lifetime-Qt-Champion , any ideas?
-
On the instructions found here: https://wiki.qt.io/RaspberryPi2EGLFS , I saw this "You probably also want to add -jn option to make command, where n is a number of cores you like to use for the complication." Could this be the reason? Can someoane tell where to add this -jn and what value for n?
-
@MihaiJunior -jn will for sure not solve your issue. What it does is: compile on n CPU cores to speed up compilation. It is a parameter for make.