Qt 5.7 and cross compile
-
wrote on 25 Jun 2016, 03:22 last edited by
I try to cross compile in ubuntu. But I get this error:
Failed to process makespec for platform 'devices/linux-rpi3-g++'
Project ERROR: Compiler /home/nikohal/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++ not found. Check the value of CROSS_COMPILE -device-option
Could not read qmake configuration file /home/nikohal/qt-everywhere-opensource-src-5.7.0/qtbase/mkspecs/devices/linux-rpi3-g++/qmake.conf.
Error processing project file: /dev/null
nikohal@nikohal-VirtualBox:~/qt-everywhere-opensource-src-5.7.0$
How I can fix this?
Br, Niko H. -
wrote on 25 Jun 2016, 09:53 last edited by deleted71
What is the command you are running?
Does the file
/home/nikohal/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++
exist?
-
What is the command you are running?
Does the file
/home/nikohal/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++
exist?
wrote on 25 Jun 2016, 11:16 last edited by@I.C.Wiener Yes it is there. But some reason it not found.
Br, Niko H.
-
What is the command you are running?
Does the file
/home/nikohal/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++
exist?
wrote on 25 Jun 2016, 11:24 last edited by@I.C.Wiener I also try installing lib32z1 lib32ncurses5 lib32bz2-1.0 packages, but not help.
-
wrote on 25 Jun 2016, 13:42 last edited by
So what command are you running?
-
wrote on 25 Jun 2016, 13:59 last edited by
@I.C.Wiener
In path was error, but now I get this error:
checking for C++11...
/home/nikohal/raspi/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++ -c -march=armv8-a+crc -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8 -pipe -Os -mthumb -std=c++1z -mfloat-abi=hard --sysroot=/home/nikohal/raspi/sysroot -O2 -std=gnu++11 -Wall -W -fPIC -I. -I../../../mkspecs/devices/linux-rpi3-g++ -o c++11.o c++11.cpp
/home/nikohal/raspi/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
make: *** [c++11.o] Error 127
C++11 disabled.
ERROR: Qt requires a C++11 compiler and yours does not seem to be that.
Please upgrade.
In path was "tools" what I have wasn't -
wrote on 25 Jun 2016, 14:18 last edited by
@I.C.Wiener Command is configure. I also install packages libc6-i386 lib32z1 lib32stdc++6. And now It give this error:
/home/nikohal/raspi/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++ -c -march=armv8-a+crc -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8 -pipe -Os -mthumb -std=c++1z -mfloat-abi=hard --sysroot=/home/nikohal/raspi/sysroot -O2 -std=gnu++11 -Wall -W -fPIC -I. -I../../../mkspecs/devices/linux-rpi3-g++ -o c++11.o c++11.cpp
arm-linux-gnueabihf-g++: virhe: unrecognized argument in option ”-march=armv8-a+crc”
arm-linux-gnueabihf-g++: huom: valid arguments to ”-march=” are: armv2 armv2a armv3 armv3m armv4 armv4t armv5 armv5e armv5t armv5te armv6 armv6-m armv6j armv6k armv6s-m armv6t2 armv6z armv6zk armv7 armv7-a armv7-m armv7-r armv7e-m armv8-a iwmmxt iwmmxt2 native
arm-linux-gnueabihf-g++: virhe: unrecognized command line option ”-std=c++1z”
make: *** [c++11.o] Error 1
C++11 disabled.
ERROR: Qt requires a C++11 compiler and yours does not seem to be that.
Please upgrade. -
wrote on 25 Jun 2016, 14:22 last edited by
What command did you execute? The whole command line please.
And please try to use// Code markers
for console output and commands.
-
What command did you execute? The whole command line please.
And please try to use// Code markers
for console output and commands.
wrote on 25 Jun 2016, 14:50 last edited by@I.C.Wiener Command is:
./configure -release -opengl es2 -device linux-rpi3-g++ -device-option CROSS_COMPILE=~/raspi/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 And I run it in folder qtbase.
-
wrote on 25 Jun 2016, 17:09 last edited by
I had some success by installing
g++-arm-linux-gnueabihf
and then replacing
CROSS_COMPILE=~/raspi/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-
by
CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf-
In general I was trying to cross-compile Qt5.7 for Raspi 3 for some days, made some progress but in the end, the result was not convincing. I guess the raspi-tools need some updating for raspi 3 and Qt5.7 respectively.
-
I had some success by installing
g++-arm-linux-gnueabihf
and then replacing
CROSS_COMPILE=~/raspi/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-
by
CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf-
In general I was trying to cross-compile Qt5.7 for Raspi 3 for some days, made some progress but in the end, the result was not convincing. I guess the raspi-tools need some updating for raspi 3 and Qt5.7 respectively.
wrote on 25 Jun 2016, 17:26 last edited by@I.C.Wiener Yes I install that from ubuntu repository, but it give that error.
/usr/bin/arm-linux-gnueabihf-g++ -c -march=armv8-a+crc -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8 -pipe -Os -mthumb -std=c++1z -mfloat-abi=hard --sysroot=/home/nikohal/raspi/sysroot -g -Wall -W -fPIC -I. -I../../mkspecs/devices/linux-rpi3-g++ -o arch.o arch.cpp arm-linux-gnueabihf-g++: error: unrecognized command line option ‘-std=c++1z’ make: *** [arch.o] Error 1 Unable to determine architecture! Could not determine the target architecture! Turn on verbose messaging (-v) to see the final report. Determining architecture... () g++ -c -pipe -g -Wall -W -fPIC -I. -I../../mkspecs/linux-g++ -o arch.o arch.cpp g++ -o arch arch.o Found architecture in binary CFG_HOST_ARCH="x86_64" CFG_HOST_CPUFEATURES=" mmx sse sse2" System architecture: 'unknown' Host architecture: 'x86_64' Precompiled-headers support enabled. /usr/bin/arm-linux-gnueabihf-g++ -c -fvisibility=hidden fvisibility.c Symbol visibility control enabled. /usr/bin/arm-linux-gnueabihf-g++ --sysroot=/home/nikohal/raspi/sysroot -o libtest.so -shared -Wl,-Bsymbolic-functions -fPIC bsymbolic_functions.c bsymbolic_functions.c:2:2: error: #error "Symbolic function binding on this architecture may be broken, disabling it (see QTBUG-36129)." #error "Symbolic function binding on this architecture may be broken, disabling it (see QTBUG-36129)." ^ Symbolic function binding disabled. checking for C++11... /usr/bin/arm-linux-gnueabihf-g++ -c -march=armv8-a+crc -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8 -pipe -Os -mthumb -std=c++1z -mfloat-abi=hard --sysroot=/home/nikohal/raspi/sysroot -O2 -std=gnu++11 -Wall -W -fPIC -I. -I../../../mkspecs/devices/linux-rpi3-g++ -o c++11.o c++11.cpp arm-linux-gnueabihf-g++: error: unrecognized command line option ‘-std=c++1z’ make: *** [c++11.o] Error 1 C++11 disabled. ERROR: Qt requires a C++11 compiler and yours does not seem to be that. Please upgrade.
I Google that, but nothing similar not found
-
wrote on 26 Jun 2016, 10:17 last edited by
Hmm, sorry. I do not have my cross-compiling environment set up anymore (it was too fiddly so I now compile on the Raspi3 directly) but I remember me playing around with the
qtbase/mkspecs/common/g++-base.conf
file. Like changing the-std=c++1z
line to-std=c++11
, so cheating a little bit. I guess ifarm-linux-gnueabihf-g++
does not knowc++1z
yet, there's not much else you can do. -
Hmm, sorry. I do not have my cross-compiling environment set up anymore (it was too fiddly so I now compile on the Raspi3 directly) but I remember me playing around with the
qtbase/mkspecs/common/g++-base.conf
file. Like changing the-std=c++1z
line to-std=c++11
, so cheating a little bit. I guess ifarm-linux-gnueabihf-g++
does not knowc++1z
yet, there's not much else you can do.wrote on 26 Jun 2016, 19:55 last edited by@I.C.Wiener I have now this problem in raspberry pi 3. I try to compile in there qt, but it give this error:
Running configuration tests... Failed to process makespec for platform 'devices/linux-rasp-pi-g++' Project ERROR: CROSS_COMPILE needs to be set via -device-option CROSS_COMPILE=<path> Could not read qmake configuration file /home/pi/qt-everywhere-opensource-src-5.7.0/qtbase/mkspecs/devices/linux-rasp-pi-g++/qmake.conf. Error processing project file: /dev/null
My configure is:
./configure -v -xcb -tslib -force-pkg-config -device linux-rasp-pi-g++ -opensource -confirm-license -optimized-qmake -reduce-exports -release -qt-pcre -make libs -prefix /usr/local/qt5 2>&1 | tee config.out
-
Hmm, sorry. I do not have my cross-compiling environment set up anymore (it was too fiddly so I now compile on the Raspi3 directly) but I remember me playing around with the
qtbase/mkspecs/common/g++-base.conf
file. Like changing the-std=c++1z
line to-std=c++11
, so cheating a little bit. I guess ifarm-linux-gnueabihf-g++
does not knowc++1z
yet, there's not much else you can do.wrote on 27 Jun 2016, 21:27 last edited by@I.C.Wiener I try to change that line, but now I get this error:
Symbolic function binding disabled. checking for C++11... /usr/bin/g++ -c -march=armv8-a+crc -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8 -pipe -Os -mthumb -std=c++1z -mfloat-abi=hard -O2 -std=gnu++11 -Wall -W -fPIC -I. -I../../../mkspecs/devices/linux-rpi3-g++ -o c++11.o c++11.cpp g++: error: unrecognized command line option â-std=c++1zâ Makefile:417: recipe for target 'c++11.o' failed make: *** [c++11.o] Error 1 C++11 disabled. ERROR: Qt requires a C++11 compiler and yours does not seem to be that. Please upgrade.
How I can fix this?
-
@I.C.Wiener Yes I install that from ubuntu repository, but it give that error.
/usr/bin/arm-linux-gnueabihf-g++ -c -march=armv8-a+crc -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8 -pipe -Os -mthumb -std=c++1z -mfloat-abi=hard --sysroot=/home/nikohal/raspi/sysroot -g -Wall -W -fPIC -I. -I../../mkspecs/devices/linux-rpi3-g++ -o arch.o arch.cpp arm-linux-gnueabihf-g++: error: unrecognized command line option ‘-std=c++1z’ make: *** [arch.o] Error 1 Unable to determine architecture! Could not determine the target architecture! Turn on verbose messaging (-v) to see the final report. Determining architecture... () g++ -c -pipe -g -Wall -W -fPIC -I. -I../../mkspecs/linux-g++ -o arch.o arch.cpp g++ -o arch arch.o Found architecture in binary CFG_HOST_ARCH="x86_64" CFG_HOST_CPUFEATURES=" mmx sse sse2" System architecture: 'unknown' Host architecture: 'x86_64' Precompiled-headers support enabled. /usr/bin/arm-linux-gnueabihf-g++ -c -fvisibility=hidden fvisibility.c Symbol visibility control enabled. /usr/bin/arm-linux-gnueabihf-g++ --sysroot=/home/nikohal/raspi/sysroot -o libtest.so -shared -Wl,-Bsymbolic-functions -fPIC bsymbolic_functions.c bsymbolic_functions.c:2:2: error: #error "Symbolic function binding on this architecture may be broken, disabling it (see QTBUG-36129)." #error "Symbolic function binding on this architecture may be broken, disabling it (see QTBUG-36129)." ^ Symbolic function binding disabled. checking for C++11... /usr/bin/arm-linux-gnueabihf-g++ -c -march=armv8-a+crc -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8 -pipe -Os -mthumb -std=c++1z -mfloat-abi=hard --sysroot=/home/nikohal/raspi/sysroot -O2 -std=gnu++11 -Wall -W -fPIC -I. -I../../../mkspecs/devices/linux-rpi3-g++ -o c++11.o c++11.cpp arm-linux-gnueabihf-g++: error: unrecognized command line option ‘-std=c++1z’ make: *** [c++11.o] Error 1 C++11 disabled. ERROR: Qt requires a C++11 compiler and yours does not seem to be that. Please upgrade.
I Google that, but nothing similar not found
wrote on 12 Jun 2018, 12:43 last edited by@Niko-Hallikainen
I too stuckup with the same issue,can you please help on the same.1 day wasted on the same error.it would be great help for me on ur suggestion.Thanks In advance
-
@Niko-Hallikainen
I too stuckup with the same issue,can you please help on the same.1 day wasted on the same error.it would be great help for me on ur suggestion.Thanks In advance
wrote on 12 Jun 2018, 17:46 last edited by -
wrote on 13 Jun 2018, 10:19 last edited by
@Pablo-J.-Rogina
I followed the complete procedure as per below link,Just changed the V_5.7.1 to my V_5.7.0
https://lb.raspberrypi.org/forums/viewtopic.php?t=204529
Still I m having the same issue can you please help me out on this,Almost I have spent 8 Houors on sorting this error.It will a kind support to reduce me tension.Thanks In advance
-
wrote on 13 Jun 2018, 10:47 last edited by
@Pablo-J.-Rogina
Initially I was following that guide only,but I failed at beloe step
git clone git://code.qt.io/qt/qtbase.git -b linux-rasp-pi3-g++
Cloning into 'qtbase'...
fatal: Remote branch linux-rasp-pi3-g++ not found in upstream origin -
@Pablo-J.-Rogina
Initially I was following that guide only,but I failed at beloe step
git clone git://code.qt.io/qt/qtbase.git -b linux-rasp-pi3-g++
Cloning into 'qtbase'...
fatal: Remote branch linux-rasp-pi3-g++ not found in upstream originwrote on 13 Jun 2018, 11:30 last edited by@shivaVMC said in Qt 5.7 and cross compile:
git clone git://code.qt.io/qt/qtbase.git -b linux-rasp-pi3-g++
You need to specify what Qt branch (i.e. 5.7, ..., 5.10, etc.) you want to clone from Git repository, let's say you want to cross-compile Qt 5.10:
git clone git://code.qt.io/qt/qtbase.git -b 5.10
then you'll have a folder qtbase will all the sources to build Qt 5.10
-
@shivaVMC said in Qt 5.7 and cross compile:
git clone git://code.qt.io/qt/qtbase.git -b linux-rasp-pi3-g++
You need to specify what Qt branch (i.e. 5.7, ..., 5.10, etc.) you want to clone from Git repository, let's say you want to cross-compile Qt 5.10:
git clone git://code.qt.io/qt/qtbase.git -b 5.10
then you'll have a folder qtbase will all the sources to build Qt 5.10
wrote on 13 Jun 2018, 18:37 last edited by@Pablo-J.-Rogina
Hi Rogina,
Thank You,Thanks alot for quick response.
Your Comments/Suggestions are perfect to fix my issue.
Everything Looks fine now and my problem is solved.Excellent...!!!