How to start in cross compile
-
Hello, I want to learn more about cross compile to compile my Qt c++ program on and embeded system (AML-S905X-CC). Where should I start? I found some tutorial to do it on a raspberry but I do not want to copy and do not understand what I am doing.
any advice, any suggestion on how to do it or where to start?
Thanks -
Hi,
Usually, companies providing boards also have documentation about cross-compilation for their target.
Then from your side, it will depend on what you need to do for your device. You might want to check the Yocto project.
-
Hi,
Usually, companies providing boards also have documentation about cross-compilation for their target.
Then from your side, it will depend on what you need to do for your device. You might want to check the Yocto project.
@SGaist Thanks for your response. The documentation for this board is non-existent...
Board Info:
Architecture: aarch64
arm-linux-gnueabihf
I have installed a raspbian SO
It is not a raspberry but it similar.At the moment, I have done the next step, but I dont know how to continue.
- Install Qt5 on my target board
sudo apt-get build-dep qt5-default
- Sync my pc with my target
DIRbASE=/home/juan/raspi DIRjOB=p_5.6 VERbASE=qtbase5.6 VERmULTIMEDIA=qtmultimedia5.6 cd $DIRbASE/$DIRjOB mkdir sysroot sysroot/usr sysroot/opt rsync -avz pi@192.168.0.160:/lib $DIRbASE/$DIRjOB/sysroot rsync -avz pi@192.168.0.160:/usr/include $DIRbASE/$DIRjOB/sysroot/usr rsync -avz pi@192.168.0.160:/usr/lib $DIRbASE/$DIRjOB/sysroot/usr rsync -avz pi@192.168.0.160:/opt/vc $DIRbASE/$DIRjOB/sysroot/opt
- Get th QT 5.6 Version ( I know I is old but i need it to my project)
git clone git://code.qt.io/qt/qtbase.git -b 5.6 git clone git://code.qt.io/qt/qtmultimedia.git -b 5.6
- Try to configure QT on my PC
cd $DIRbASE/$DIRjOB mkdir $DIRbASE/$DIRjOB/qt cd $DIRbASE/$DIRjOB/qt $DIRbASE/$VERbASE/configure -release -opengl es2 -device linux-arm-generic-g++ -device-option CROSS_COMPILE=$DIRbASE/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf- -sysroot $DIRbASE/$DIRjOB/sysroot -opensource -confirm-license -make libs -prefix /usr/local/qt5pi -extprefix $DIRbASE/$DIRjOB/qt5 -hostprefix $DIRbASE/$DIRjOB/qt5 -v -nomake examples -nomake tests -no-xinput2
I am not sure that the tool that I have is the correct one to my board. How could I know? Or what should I do to find?
With the one I have downloaded, I get some errors.Running configuration tests (phase 2)... Found pkg-config from $PATH: /usr/bin/pkg-config Note: PKG_CONFIG_LIBDIR automatically set to /home/juan/raspi/p_5.6/sysroot/usr/lib/pkgconfig:/home/juan/raspi/p_5.6/sysroot/usr/share/pkgconfig:/home/juan/raspi/p_5.6/sysroot/usr/lib/arm-linux-gnueabihf/pkgconfig Note: PKG_CONFIG_SYSROOT_DIR automatically set to /home/juan/raspi/p_5.6/sysroot Determining architecture... () /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++ -c -pipe -mfloat-abi=softfp --sysroot=/home/juan/raspi/p_5.6/sysroot -g -Wall -W -fPIC -I../../../../qtbase5.6/config.tests/arch -I. -I../../../../qtbase5.6/mkspecs/devices/linux-arm-generic-g++ -o arch.o ../../../../qtbase5.6/config.tests/arch/arch.cpp In file included from /home/juan/raspi/p_5.6/sysroot/usr/include/features.h:388:0, from /home/juan/raspi/p_5.6/sysroot/usr/include/stdio.h:27, from ../../../../qtbase5.6/config.tests/arch/arch.cpp:37: /home/juan/raspi/p_5.6/sysroot/usr/include/arm-linux-gnueabihf/gnu/stubs.h:7:29: fatal error: gnu/stubs-soft.h: No such file or directory # include <gnu/stubs-soft.h> ^ compilation terminated. Makefile:193: recipe for target 'arch.o' failed 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../../../../qtbase5.6/config.tests/arch -I. -I../../../../qtbase5.6/mkspecs/linux-g++ -o arch.o ../../../../qtbase5.6/config.tests/arch/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' checking for C++11... /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++ -c -pipe -mfloat-abi=softfp --sysroot=/home/juan/raspi/p_5.6/sysroot -O2 -std=gnu++0x -Wall -W -fPIC -I/home/juan/raspi/qtbase5.6/config.tests/common/c++11 -I. -I/home/juan/raspi/qtbase5.6/mkspecs/devices/linux-arm-generic-g++ -o c++11.o /home/juan/raspi/qtbase5.6/config.tests/common/c++11/c++11.cpp In file included from /home/juan/raspi/p_5.6/sysroot/usr/include/features.h:388:0, from /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/arm-linux-gnueabihf/include/c++/4.8.3/arm-linux-gnueabihf/bits/os_defines.h:39, from /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/arm-linux-gnueabihf/include/c++/4.8.3/arm-linux-gnueabihf/bits/c++config.h:426, from /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/arm-linux-gnueabihf/include/c++/4.8.3/utility:68, from /home/juan/raspi/qtbase5.6/config.tests/common/c++11/c++11.cpp:40: /home/juan/raspi/p_5.6/sysroot/usr/include/arm-linux-gnueabihf/gnu/stubs.h:7:29: fatal error: gnu/stubs-soft.h: No such file or directory # include <gnu/stubs-soft.h> ^ compilation terminated. Makefile:192: recipe for target 'c++11.o' failed make: *** [c++11.o] Error 1 C++11 disabled. checking for default C++ standard edition... /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++ -pipe -mfloat-abi=softfp --sysroot=/home/juan/raspi/p_5.6/sysroot -O2 -Wall -W -fPIC -I/home/juan/raspi/qtbase5.6/config.tests/common/c++default -I. -I/home/juan/raspi/qtbase5.6/mkspecs/devices/linux-arm-generic-g++ -o c++default.ii -E /home/juan/raspi/qtbase5.6/config.tests/common/c++default/c++default.cpp default C++ standard edition enabled. checking for 64-bit std::atomic... /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++ -c -pipe -mfloat-abi=softfp --sysroot=/home/juan/raspi/p_5.6/sysroot -O2 -std=gnu++0x -Wall -W -fPIC -I/home/juan/raspi/qtbase5.6/config.tests/common/atomic64 -I. -I/home/juan/raspi/qtbase5.6/mkspecs/devices/linux-arm-generic-g++ -o atomic64.o /home/juan/raspi/qtbase5.6/config.tests/common/atomic64/atomic64.cpp In file included from /home/juan/raspi/p_5.6/sysroot/usr/include/features.h:388:0, from /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/arm-linux-gnueabihf/include/c++/4.8.3/arm-linux-gnueabihf/bits/os_defines.h:39, from /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/arm-linux-gnueabihf/include/c++/4.8.3/arm-linux-gnueabihf/bits/c++config.h:426, from /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/arm-linux-gnueabihf/include/c++/4.8.3/bits/atomic_base.h:35, from /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/arm-linux-gnueabihf/include/c++/4.8.3/atomic:41, from /home/juan/raspi/qtbase5.6/config.tests/common/atomic64/atomic64.cpp:34: /home/juan/raspi/p_5.6/sysroot/usr/include/arm-linux-gnueabihf/gnu/stubs.h:7:29: fatal error: gnu/stubs-soft.h: No such file or directory # include <gnu/stubs-soft.h> ^ compilation terminated. Makefile:192: recipe for target 'atomic64.o' failed make: *** [atomic64.o] Error 1 64-bit std::atomic disabled. checking for 64-bit std::atomic in -latomic... /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++ -c -pipe -mfloat-abi=softfp --sysroot=/home/juan/raspi/p_5.6/sysroot -O2 -std=gnu++0x -Wall -W -fPIC -I/home/juan/raspi/qtbase5.6/config.tests/common/atomic64 -I. -I/home/juan/raspi/qtbase5.6/mkspecs/devices/linux-arm-generic-g++ -o atomic64.o /home/juan/raspi/qtbase5.6/config.tests/common/atomic64/atomic64.cpp In file included from /home/juan/raspi/p_5.6/sysroot/usr/include/features.h:388:0, from /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/arm-linux-gnueabihf/include/c++/4.8.3/arm-linux-gnueabihf/bits/os_defines.h:39, from /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/arm-linux-gnueabihf/include/c++/4.8.3/arm-linux-gnueabihf/bits/c++config.h:426, from /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/arm-linux-gnueabihf/include/c++/4.8.3/bits/atomic_base.h:35, from /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/arm-linux-gnueabihf/include/c++/4.8.3/atomic:41, from /home/juan/raspi/qtbase5.6/config.tests/common/atomic64/atomic64.cpp:34: /home/juan/raspi/p_5.6/sysroot/usr/include/arm-linux-gnueabihf/gnu/stubs.h:7:29: fatal error: gnu/stubs-soft.h: No such file or directory # include <gnu/stubs-soft.h> ^ compilation terminated. Makefile:192: recipe for target 'atomic64.o' failed make: *** [atomic64.o] Error 1 64-bit std::atomic in -latomic disabled. checking for sse2... /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++ -c -pipe -mfloat-abi=softfp --sysroot=/home/juan/raspi/p_5.6/sysroot -msse2 -g -Wall -W -fPIC -I/home/juan/raspi/qtbase5.6/config.tests/common/sse2 -I. -I/home/juan/raspi/qtbase5.6/mkspecs/devices/linux-arm-generic-g++ -o sse2.o /home/juan/raspi/qtbase5.6/config.tests/common/sse2/sse2.cpp arm-linux-gnueabihf-g++: error: unrecognized command line option ‘-msse2’ Makefile:192: recipe for target 'sse2.o' failed make: *** [sse2.o] Error 1 sse2 disabled. checking for ipc_sysv... /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++ -c -pipe -mfloat-abi=softfp --sysroot=/home/juan/raspi/p_5.6/sysroot -O2 -Wall -W -fPIC -I/home/juan/raspi/qtbase5.6/config.tests/unix/ipc_sysv -I. -I/home/juan/raspi/qtbase5.6/mkspecs/devices/linux-arm-generic-g++ -o ipc.o /home/juan/raspi/qtbase5.6/config.tests/unix/ipc_sysv/ipc.cpp In file included from /home/juan/raspi/p_5.6/sysroot/usr/include/features.h:388:0, from /home/juan/raspi/p_5.6/sysroot/usr/include/arm-linux-gnueabihf/sys/types.h:25, from /home/juan/raspi/qtbase5.6/config.tests/unix/ipc_sysv/ipc.cpp:34: /home/juan/raspi/p_5.6/sysroot/usr/include/arm-linux-gnueabihf/gnu/stubs.h:7:29: fatal error: gnu/stubs-soft.h: No such file or directory # include <gnu/stubs-soft.h> ^ compilation terminated. Makefile:192: recipe for target 'ipc.o' failed make: *** [ipc.o] Error 1 ipc_sysv disabled. checking for ipc_posix... /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++ -c -pipe -mfloat-abi=softfp --sysroot=/home/juan/raspi/p_5.6/sysroot -O2 -Wall -W -fPIC -I/home/juan/raspi/qtbase5.6/config.tests/unix/ipc_posix -I. -I/home/juan/raspi/qtbase5.6/mkspecs/devices/linux-arm-generic-g++ -o ipc.o /home/juan/raspi/qtbase5.6/config.tests/unix/ipc_posix/ipc.cpp In file included from /home/juan/raspi/p_5.6/sysroot/usr/include/features.h:388:0, from /home/juan/raspi/p_5.6/sysroot/usr/include/arm-linux-gnueabihf/sys/types.h:25, from /home/juan/raspi/qtbase5.6/config.tests/unix/ipc_posix/ipc.cpp:34: /home/juan/raspi/p_5.6/sysroot/usr/include/arm-linux-gnueabihf/gnu/stubs.h:7:29: fatal error: gnu/stubs-soft.h: No such file or directory # include <gnu/stubs-soft.h> ^ compilation terminated. Makefile:192: recipe for target 'ipc.o' failed make: *** [ipc.o] Error 1 ipc_posix disabled. checking for zlib... /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++ -c -pipe -mfloat-abi=softfp --sysroot=/home/juan/raspi/p_5.6/sysroot -O2 -Wall -W -fPIC -I/home/juan/raspi/qtbase5.6/config.tests/unix/zlib -I. -I/home/juan/raspi/qtbase5.6/mkspecs/devices/linux-arm-generic-g++ -o zlib.o /home/juan/raspi/qtbase5.6/config.tests/unix/zlib/zlib.cpp In file included from /home/juan/raspi/p_5.6/sysroot/usr/include/features.h:388:0, from /home/juan/raspi/p_5.6/sysroot/usr/include/limits.h:25, from /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/lib/gcc/arm-linux-gnueabihf/4.8.3/include-fixed/limits.h:168, from /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/lib/gcc/arm-linux-gnueabihf/4.8.3/include-fixed/syslimits.h:7, from /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/lib/gcc/arm-linux-gnueabihf/4.8.3/include-fixed/limits.h:34, from /home/juan/raspi/p_5.6/sysroot/usr/include/zconf.h:395, from /home/juan/raspi/p_5.6/sysroot/usr/include/zlib.h:34, from /home/juan/raspi/qtbase5.6/config.tests/unix/zlib/zlib.cpp:34: /home/juan/raspi/p_5.6/sysroot/usr/include/arm-linux-gnueabihf/gnu/stubs.h:7:29: fatal error: gnu/stubs-soft.h: No such file or directory # include <gnu/stubs-soft.h> ^ compilation terminated. Makefile:192: recipe for target 'zlib.o' failed make: *** [zlib.o] Error 1 zlib disabled. checking for mtdev... /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++ -c -pipe -mfloat-abi=softfp --sysroot=/home/juan/raspi/p_5.6/sysroot -O2 -Wall -W -fPIC -I/home/juan/raspi/qtbase5.6/config.tests/unix/mtdev -I. -I/home/juan/raspi/qtbase5.6/mkspecs/devices/linux-arm-generic-g++ -o mtdev.o /home/juan/raspi/qtbase5.6/config.tests/unix/mtdev/mtdev.cpp In file included from /home/juan/raspi/p_5.6/sysroot/usr/include/features.h:388:0, from /home/juan/raspi/p_5.6/sysroot/usr/include/arm-linux-gnueabihf/sys/time.h:21, from /home/juan/raspi/p_5.6/sysroot/usr/include/linux/input.h:12, from /home/juan/raspi/p_5.6/sysroot/usr/include/mtdev.h:36, from /home/juan/raspi/qtbase5.6/config.tests/unix/mtdev/mtdev.cpp:34: /home/juan/raspi/p_5.6/sysroot/usr/include/arm-linux-gnueabihf/gnu/stubs.h:7:29: fatal error: gnu/stubs-soft.h: No such file or directory # include <gnu/stubs-soft.h> ^ compilation terminated. Makefile:195: recipe for target 'mtdev.o' failed make: *** [mtdev.o] Error 1 mtdev disabled. checking for libjpeg... /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++ -c -pipe -mfloat-abi=softfp --sysroot=/home/juan/raspi/p_5.6/sysroot -O2 -Wall -W -fPIC -I/home/juan/raspi/qtbase5.6/config.tests/unix/libjpeg -I. -I/home/juan/raspi/qtbase5.6/mkspecs/devices/linux-arm-generic-g++ -o libjpeg.o /home/juan/raspi/qtbase5.6/config.tests/unix/libjpeg/libjpeg.cpp In file included from /home/juan/raspi/p_5.6/sysroot/usr/include/features.h:388:0, from /home/juan/raspi/p_5.6/sysroot/usr/include/arm-linux-gnueabihf/sys/types.h:25, from /home/juan/raspi/qtbase5.6/config.tests/unix/libjpeg/libjpeg.cpp:34: /home/juan/raspi/p_5.6/sysroot/usr/include/arm-linux-gnueabihf/gnu/stubs.h:7:29: fatal error: gnu/stubs-soft.h: No such file or directory # include <gnu/stubs-soft.h> ^ compilation terminated. Makefile:192: recipe for target 'libjpeg.o' failed make: *** [libjpeg.o] Error 1 libjpeg disabled. checking for libpng... /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++ -c -pipe -mfloat-abi=softfp --sysroot=/home/juan/raspi/p_5.6/sysroot -O2 -Wall -W -fPIC -I/home/juan/raspi/qtbase5.6/config.tests/unix/libpng -I. -I../../../../sysroot/usr/include/libpng16 -I/home/juan/raspi/qtbase5.6/mkspecs/devices/linux-arm-generic-g++ -o libpng.o /home/juan/raspi/qtbase5.6/config.tests/unix/libpng/libpng.cpp In file included from /home/juan/raspi/p_5.6/sysroot/usr/include/features.h:388:0, from /home/juan/raspi/p_5.6/sysroot/usr/include/limits.h:25, from /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/lib/gcc/arm-linux-gnueabihf/4.8.3/include-fixed/limits.h:168, from /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/lib/gcc/arm-linux-gnueabihf/4.8.3/include-fixed/syslimits.h:7, from /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/lib/gcc/arm-linux-gnueabihf/4.8.3/include-fixed/limits.h:34, from ../../../../sysroot/usr/include/libpng16/pngconf.h:30, from ../../../../sysroot/usr/include/libpng16/png.h:364, from /home/juan/raspi/qtbase5.6/config.tests/unix/libpng/libpng.cpp:34: /home/juan/raspi/p_5.6/sysroot/usr/include/arm-linux-gnueabihf/gnu/stubs.h:7:29: fatal error: gnu/stubs-soft.h: No such file or directory # include <gnu/stubs-soft.h> ^ compilation terminated. Makefile:197: recipe for target 'libpng.o' failed make: *** [libpng.o] Error 1 libpng disabled. checking for dlopen... /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++ -c -pipe -mfloat-abi=softfp --sysroot=/home/juan/raspi/p_5.6/sysroot -O2 -Wall -W -fPIC -I/home/juan/raspi/qtbase5.6/config.tests/unix/dlopen -I. -I/home/juan/raspi/qtbase5.6/mkspecs/devices/linux-arm-generic-g++ -o dlopen.o /home/juan/raspi/qtbase5.6/config.tests/unix/dlopen/dlopen.cpp In file included from /home/juan/raspi/p_5.6/sysroot/usr/include/features.h:388:0, from /home/juan/raspi/p_5.6/sysroot/usr/include/dlfcn.h:22, from /home/juan/raspi/qtbase5.6/config.tests/unix/dlopen/dlopen.cpp:34: /home/juan/raspi/p_5.6/sysroot/usr/include/arm-linux-gnueabihf/gnu/stubs.h:7:29: fatal error: gnu/stubs-soft.h: No such file or directory # include <gnu/stubs-soft.h> ^ compilation terminated. Makefile:192: recipe for target 'dlopen.o' failed make: *** [dlopen.o] Error 1 dlopen disabled. checking for libdl... /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++ -c -pipe -mfloat-abi=softfp --sysroot=/home/juan/raspi/p_5.6/sysroot -O2 -Wall -W -fPIC -I/home/juan/raspi/qtbase5.6/config.tests/unix/libdl -I. -I/home/juan/raspi/qtbase5.6/mkspecs/devices/linux-arm-generic-g++ -o dlopen.o /home/juan/raspi/qtbase5.6/config.tests/unix/dlopen/dlopen.cpp In file included from /home/juan/raspi/p_5.6/sysroot/usr/include/features.h:388:0, from /home/juan/raspi/p_5.6/sysroot/usr/include/dlfcn.h:22, from /home/juan/raspi/qtbase5.6/config.tests/unix/dlopen/dlopen.cpp:34: /home/juan/raspi/p_5.6/sysroot/usr/include/arm-linux-gnueabihf/gnu/stubs.h:7:29: fatal error: gnu/stubs-soft.h: No such file or directory # include <gnu/stubs-soft.h> ^ compilation terminated. Makefile:195: recipe for target 'dlopen.o' failed make: *** [dlopen.o] Error 1 libdl disabled. checking for DB2... /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++ -c -pipe -mfloat-abi=softfp --sysroot=/home/juan/raspi/p_5.6/sysroot -O2 -Wall -W -fPIC -I/home/juan/raspi/qtbase5.6/config.tests/unix/db2 -I. -I/home/juan/raspi/qtbase5.6/mkspecs/devices/linux-arm-generic-g++ -o db2.o /home/juan/raspi/qtbase5.6/config.tests/unix/db2/db2.cpp /home/juan/raspi/qtbase5.6/config.tests/unix/db2/db2.cpp:34:20: fatal error: sqlcli.h: No such file or directory #include <sqlcli.h> ^ compilation terminated. Makefile:192: recipe for target 'db2.o' failed make: *** [db2.o] Error 1 DB2 disabled. checking for InterBase... /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++ -c -pipe -mfloat-abi=softfp --sysroot=/home/juan/raspi/p_5.6/sysroot -O2 -Wall -W -fPIC -I/home/juan/raspi/qtbase5.6/config.tests/unix/ibase -I. -I/home/juan/raspi/qtbase5.6/mkspecs/devices/linux-arm-generic-g++ -o ibase.o /home/juan/raspi/qtbase5.6/config.tests/unix/ibase/ibase.cpp In file included from /home/juan/raspi/p_5.6/sysroot/usr/include/features.h:388:0, from /home/juan/raspi/p_5.6/sysroot/usr/include/inttypes.h:25, from /home/juan/raspi/p_5.6/sysroot/usr/include/ibase.h:74, from /home/juan/raspi/qtbase5.6/config.tests/unix/ibase/ibase.cpp:34: /home/juan/raspi/p_5.6/sysroot/usr/include/arm-linux-gnueabihf/gnu/stubs.h:7:29: fatal error: gnu/stubs-soft.h: No such file or directory # include <gnu/stubs-soft.h> ^ compilation terminated. Makefile:192: recipe for target 'ibase.o' failed make: *** [ibase.o] Error 1 InterBase disabled. checking for MySQL (thread-safe)... /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++ -c -pipe -mfloat-abi=softfp --sysroot=/home/juan/raspi/p_5.6/sysroot -O2 -Wall -W -fPIC -I/home/juan/raspi/qtbase5.6/config.tests/unix/mysql_r -I. -I/home/juan/raspi/qtbase5.6/mkspecs/devices/linux-arm-generic-g++ -o mysql.o /home/juan/raspi/qtbase5.6/config.tests/unix/mysql/mysql.cpp /home/juan/raspi/qtbase5.6/config.tests/unix/mysql/mysql.cpp:34:19: fatal error: mysql.h: No such file or directory #include "mysql.h" ^ compilation terminated. Makefile:192: recipe for target 'mysql.o' failed make: *** [mysql.o] Error 1 MySQL (thread-safe) disabled. checking for MySQL (thread-unsafe)... /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++ -c -pipe -mfloat-abi=softfp --sysroot=/home/juan/raspi/p_5.6/sysroot -O2 -Wall -W -fPIC -I/home/juan/raspi/qtbase5.6/config.tests/unix/mysql -I. -I/home/juan/raspi/qtbase5.6/mkspecs/devices/linux-arm-generic-g++ -o mysql.o /home/juan/raspi/qtbase5.6/config.tests/unix/mysql/mysql.cpp /home/juan/raspi/qtbase5.6/config.tests/unix/mysql/mysql.cpp:34:19: fatal error: mysql.h: No such file or directory #include "mysql.h" ^ compilation terminated. Makefile:192: recipe for target 'mysql.o' failed make: *** [mysql.o] Error 1 MySQL (thread-unsafe) disabled. . . More errors.. . . checking for OpenGL ES 2.0... /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++ -c -pipe -mfloat-abi=softfp --sysroot=/home/juan/raspi/p_5.6/sysroot -O2 -Wall -W -fPIC -I/home/juan/raspi/qtbase5.6/config.tests/unix/opengles2 -I. -I/home/juan/raspi/qtbase5.6/mkspecs/devices/linux-arm-generic-g++ -o opengles2.o /home/juan/raspi/qtbase5.6/config.tests/unix/opengles2/opengles2.cpp In file included from /home/juan/raspi/p_5.6/sysroot/usr/include/features.h:388:0, from /home/juan/raspi/p_5.6/sysroot/usr/include/stdint.h:25, from /home/juan/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/lib/gcc/arm-linux-gnueabihf/4.8.3/include/stdint.h:9, from /home/juan/raspi/p_5.6/sysroot/usr/include/KHR/khrplatform.h:149, from /home/juan/raspi/p_5.6/sysroot/usr/include/GLES2/gl2platform.h:20, from /home/juan/raspi/p_5.6/sysroot/usr/include/GLES2/gl2.h:39, from /home/juan/raspi/qtbase5.6/config.tests/unix/opengles2/opengles2.cpp:38: /home/juan/raspi/p_5.6/sysroot/usr/include/arm-linux-gnueabihf/gnu/stubs.h:7:29: fatal error: gnu/stubs-soft.h: No such file or directory # include <gnu/stubs-soft.h> ^ compilation terminated. Makefile:192: recipe for target 'opengles2.o' failed make: *** [opengles2.o] Error 1 OpenGL ES 2.0 disabled. The OpenGL ES 2.0 functionality test failed! You might need to modify the include and library search paths by editing QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in /home/juan/raspi/qtbase5.6/mkspecs/devices/linux-arm-generic-g++.
-
You need to install the development libraries of the dependencies in the sysroot. This is usually done using the device and then sync back to your desktop machine.
-
You need to install the development libraries of the dependencies in the sysroot. This is usually done using the device and then sync back to your desktop machine.
@SGaist I did
Sync my pc with my target DIRbASE=/home/juan/raspi DIRjOB=p_5.6 VERbASE=qtbase5.6 VERmULTIMEDIA=qtmultimedia5.6 cd $DIRbASE/$DIRjOB mkdir sysroot sysroot/usr sysroot/opt rsync -avz pi@192.168.0.160:/lib $DIRbASE/$DIRjOB/sysroot rsync -avz pi@192.168.0.160:/usr/include $DIRbASE/$DIRjOB/sysroot/usr rsync -avz pi@192.168.0.160:/usr/lib $DIRbASE/$DIRjOB/sysroot/usr rsync -avz pi@192.168.0.160:/opt/vc $DIRbASE/$DIRjOB/sysroot/opt
I want to configure using my gcc-multilib (because I have already installed), because these toolchains are deprecated.
Is it the same to use "gcc-multilib" and "gcc-arm-linux-gnueabihf"?
If I use gcc-multilib, how could I define my target architecture? or will gcc configure my cross compilation for all the posibilities?
Where it is usually located the gcc-multilib?
Thanks -
I don't know how the compilers are configured with gcc-multilib. However I don't see anything wrong with trying with it.
Just a side note: you do realize that Qt 5.6 is more than outdated ?
-
I don't know how the compilers are configured with gcc-multilib. However I don't see anything wrong with trying with it.
Just a side note: you do realize that Qt 5.6 is more than outdated ?
@SGaist
I've taken a few more steps, but I got some errors when I do "make"
I have configured qt with this:#!/bin/bash ~/rpi/qtbase/configure \ -v \ -release \ -make libs \ -opensource \ -confirm-license \ -opengl es2 \ -platform linux-g++ \ -device linux-rasp-pi2-g++ \ -device-option CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf- \ -prefix /usr/local/qt5 \ -extprefix ~/rpi/qt-build/qt5pi \ -hostprefix ~/rpi/qt-build/qt5 \ -sysroot ~/rpi/sysroot \ -nomake examples \ -nomake tests \ -no-compile-examples \ -no-xinput2 \ -skip qtscript
I got the next result:
Build options: Configuration .......... accessibility accessibility-atspi-bridge alsa audio-backend c++11 c++14 c++1z clock-gettime clock-monotonic concurrent cross_compile cups dbus dbus-linked egl eglfs eglfs_brcm enable_new_dtags evdev eventfd fontconfig full-config getaddrinfo getifaddrs glib gstreamer-1.0 harfbuzz iconv icu inotify ipv6ifname large-config largefile libinput libudev linuxfb medium-config minimal-config mremap neon opengl opengles2 openssl openvg png posix_fallocate precompile_header pulseaudio qpa qpa reduce_exports release rpath shared small-config system-freetype system-jpeg system-png system-zlib threadsafe-cloexec tslib use_gold_linker xcb xcb-glx xcb-plugin xcb-render xcb-xlib xkbcommon-evdev xkbcommon-qt xlib Build parts ............ libs Mode ................... release Using sanitizer(s)...... none Using C++ standard ..... c++1z Using gold linker....... yes Using new DTAGS ........ yes Using PCH .............. yes Using LTCG ............. no Target compiler supports: Neon ................. yes Qt modules and options: Qt D-Bus ............... yes (linked to dbus-1) Qt Concurrent .......... yes Qt GUI ................. yes Qt Widgets ............. yes Large File ............. yes QML debugging .......... yes Use system proxies ..... no Support enabled for: Accessibility .......... yes ALSA ................... yes CUPS ................... yes Evdev .................. yes FontConfig ............. yes FreeType ............... yes (system library) Glib ................... yes GStreamer .............. yes (1.0) GTK theme .............. no HarfBuzz ............... yes (bundled copy) Iconv .................. yes ICU .................... yes Image formats: GIF .................. yes (plugin, using bundled copy) JPEG ................. yes (plugin, using system library) PNG .................. yes (in QtGui, using system library) libinput................ yes Logging backends: journald ............... no syslog ............... no mtdev .................. no Networking: getaddrinfo .......... yes getifaddrs ........... yes IPv6 ifname .......... yes libproxy.............. no OpenSSL .............. yes (loading libraries at run-time) OpenGL / OpenVG: EGL .................. yes OpenGL ............... yes (OpenGL ES 2.0+) OpenVG ............... yes-auto PCRE ................... system pkg-config ............. yes PulseAudio ............. yes QPA backends: DirectFB ............. no EGLFS ................ yes EGLFS i.MX6 ........ no EGLFS i.MX6 Wayland. no EGLFS EGLDevice .... no EGLFS GBM .......... no EGLFS Mali ......... no EGLFS Raspberry Pi . yes EGLFS X11 .......... no LinuxFB .............. yes Mir client............ no XCB .................. yes (system library) EGL on X ........... no GLX ................ yes MIT-SHM ............ yes Xcb-Xlib ........... yes Xcursor ............ yes (loaded at runtime) Xfixes ............. yes (loaded at runtime) Xi ................. yes (loaded at runtime) Xi2 ................ no Xinerama ........... yes (loaded at runtime) Xrandr ............. yes (loaded at runtime) Xrender ............ no XKB ................ no XShape ............. yes XSync .............. yes XVideo ............. yes Session management ..... yes SQL drivers: DB2 .................. no InterBase ............ no MySQL ................ no OCI .................. no ODBC ................. no PostgreSQL ........... no SQLite 2 ............. no SQLite ............... yes (plugin, using bundled copy) TDS .................. no tslib .................. yes udev ................... yes xkbcommon-x11........... yes (bundled copy, XKB config root: /usr/share/X11/xkb) xkbcommon-evdev......... yes zlib ................... yes (system library) NOTE: Qt is using double for qreal on this system. This is binary incompatible against Qt 5.1. Configure with '-qreal float' to create a build that is binary compatible with 5.1. Qt is now configured for building. Just run 'make'. Once everything is built, you must run 'make install'. Qt will be installed into /usr/local/qt5 Prior to reconfiguration, make sure you remove any leftovers from the previous build.
Errors
ueabihf/5/include -I/usr/lib/gcc-cross/arm-linux-gnueabihf/5/include-fixed -I/usr/arm-linux-gnueabihf/include -I/home/juan/rpi/sysroot/usr/include /home/juan/rpi/qtbase/src/network/access/qnetworkaccesscache_p.h -o .moc/moc_qnetworkaccesscache_p.cpp /home/juan/rpi/qtbase/src/network/ssl/qsslsocket_openssl.cpp: In member function ‘virtual void QSslSocketBackendPrivate::continueHandshake()’: /home/juan/rpi/qtbase/src/network/ssl/qsslsocket_openssl.cpp:1570:27: error: ‘SSL_CTRL_GET_SESSION_REUSED’ was not declared in this scope if (q_SSL_ctrl((ssl), SSL_CTRL_GET_SESSION_REUSED, 0, NULL)) ^ /home/juan/rpi/qtbase/src/network/ssl/qsslcertificate_openssl.cpp: In function ‘uint qHash(const QSslCertificate&, uint)’: /home/juan/rpi/qtbase/src/network/ssl/qsslcertificate_openssl.cpp:63:30: error: invalid use of incomplete type ‘X509 {aka struct x509_st}’ return qHashBits(x509->sha1_hash, SHA_DIGEST_LENGTH, seed); ^ In file included from /home/juan/rpi/sysroot/usr/include/openssl/crypto.h:31:0, from /home/juan/rpi/sysroot/usr/include/openssl/comp.h:16, from /home/juan/rpi/sysroot/usr/include/openssl/ssl.h:47, from ../../include/QtNetwork/5.6.4/QtNetwork/private/../../../../../../qtbase/src/network/ssl/qsslcontext_openssl_p.h:53, from ../../include/QtNetwork/5.6.4/QtNetwork/private/qsslcontext_openssl_p.h:1, from /home/juan/rpi/qtbase/src/network/ssl/qsslsocket_p.h:55, from /home/juan/rpi/qtbase/src/network/ssl/qsslsocket_openssl_p.h:63, from /home/juan/rpi/qtbase/src/network/ssl/qsslsocket_openssl_symbols_p.h:64, from /home/juan/rpi/qtbase/src/network/ssl/qsslcertificate_openssl.cpp:35: /home/juan/rpi/sysroot/usr/include/openssl/ossl_typ.h:119:16: note: forward declaration of ‘X509 {aka struct x509_st}’ typedef struct x509_st X509; ^ /home/juan/rpi/qtbase/src/network/ssl/qsslcertificate_openssl.cpp: In member function ‘QByteArray QSslCertificate::version() const’: /home/juan/rpi/qtbase/src/network/ssl/qsslcertificate_openssl.cpp:87:68: error: invalid use of incomplete type ‘X509 {aka struct x509_st}’ QByteArray::number(qlonglong(q_ASN1_INTEGER_get(d->x509->cert_info->version)) + 1); ^ In file included from /home/juan/rpi/sysroot/usr/include/openssl/crypto.h:31:0, from /home/juan/rpi/sysroot/usr/include/openssl/comp.h:16, from /home/juan/rpi/sysroot/usr/include/openssl/ssl.h:47, from ../../include/QtNetwork/5.6.4/QtNetwork/private/../../../../../../qtbase/src/network/ssl/qsslcontext_openssl_p.h:53, from ../../include/QtNetwork/5.6.4/QtNetwork/private/qsslcontext_openssl_p.h:1, from /home/juan/rpi/qtbase/src/network/ssl/qsslsocket_p.h:55, from /home/juan/rpi/qtbase/src/network/ssl/qsslsocket_openssl_p.h:63, from /home/juan/rpi/qtbase/src/network/ssl/qsslsocket_openssl_symbols_p.h:64, from /home/juan/rpi/qtbase/src/network/ssl/qsslcertificate_openssl.cpp:35: /home/juan/rpi/sysroot/usr/include/openssl/ossl_typ.h:119:16: note: forward declaration of ‘X509 {aka struct x509_st}’ typedef struct x509_st X509; ^ /home/juan/rpi/qtbase/src/network/ssl/qsslcertificate_openssl.cpp: In member function ‘QByteArray QSslCertificate::serialNumber() const’: /home/juan/rpi/qtbase/src/network/ssl/qsslcertificate_openssl.cpp:96:45: error: invalid use of incomplete type ‘X509 {aka struct x509_st}’ ASN1_INTEGER *serialNumber = d->x509->cert_info->serialNumber; ^ In file included from /home/juan/rpi/sysroot/usr/include/openssl/crypto.h:31:0, from /home/juan/rpi/sysroot/usr/include/openssl/comp.h:16, from /home/juan/rpi/sysroot/usr/include/openssl/ssl.h:47, from ../../include/QtNetwork/5.6.4/QtNetwork/private/../../../../../../qtbase/src/network/ssl/qsslcontext_openssl_p.h:53, from ../../include/QtNetwork/5.6.4/QtNetwork/private/qsslcontext_openssl_p.h:1, from /home/juan/rpi/qtbase/src/network/ssl/qsslsocket_p.h:55, from /home/juan/rpi/qtbase/src/network/ssl/qsslsocket_openssl_p.h:63, from /home/juan/rpi/qtbase/src/network/ssl/qsslsocket_openssl_symbols_p.h:64, from /home/juan/rpi/qtbase/src/network/ssl/qsslcertificate_openssl.cpp:35: /home/juan/rpi/sysroot/usr/include/openssl/ossl_typ.h:119:16: note: forward declaration of ‘X509 {aka struct x509_st}’ typedef struct x509_st X509; ^ /home/juan/rpi/qtbase/src/network/ssl/qsslcertificate_openssl.cpp: In member function ‘QSslKey QSslCertificate::publicKey() const’: /home/juan/rpi/qtbase/src/network/ssl/qsslcertificate_openssl.cpp:232:32: error: invalid use of incomplete type ‘X509 {aka struct x509_st}’ X509_PUBKEY *xkey = d->x509->cert_info->key; ^ In file included from /home/juan/rpi/sysroot/usr/include/openssl/crypto.h:31:0, from /home/juan/rpi/sysroot/usr/include/openssl/comp.h:16, from /home/juan/rpi/sysroot/usr/include/openssl/ssl.h:47, from ../../include/QtNetwork/5.6.4/QtNetwork/private/../../../../../../qtbase/src/network/ssl/qsslcontext_openssl_p.h:53, from ../../include/QtNetwork/5.6.4/QtNetwork/private/qsslcontext_openssl_p.h:1, from /home/juan/rpi/qtbase/src/network/ssl/qsslsocket_p.h:55, from /home/juan/rpi/qtbase/src/network/ssl/qsslsocket_openssl_p.h:63, from /home/juan/rpi/qtbase/src/network/ssl/qsslsocket_openssl_symbols_p.h:64, from /home/juan/rpi/qtbase/src/network/ssl/qsslcertificate_openssl.cpp:35: /home/juan/rpi/sysroot/usr/include/openssl/ossl_typ.h:119:16: note: forward declaration of ‘X509 {aka struct x509_st}’ typedef struct x509_st X509; ^ /home/juan/rpi/qtbase/src/network/ssl/qsslcertificate_openssl.cpp:236:29: error: invalid use of incomplete type ‘EVP_PKEY {aka struct evp_pkey_st}’ if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_RSA) { ^ In file included from /home/juan/rpi/sysroot/usr/include/openssl/crypto.h:31:0, from /home/juan/rpi/sysroot/usr/include/openssl/comp.h:16, from /home/juan/rpi/sysroot/usr/include/openssl/ssl.h:47, from ../../include/QtNetwork/5.6.4/QtNetwork/private/../../../../../../qtbase/src/network/ssl/qsslcontext_openssl_p.h:53, from ../../include/QtNetwork/5.6.4/QtNetwork/private/qsslcontext_openssl_p.h:1, from /home/juan/rpi/qtbase/src/network/ssl/qsslsocket_p.h:55, from /home/juan/rpi/qtbase/src/network/ssl/qsslsocket_openssl_p.h:63, from /home/juan/rpi/qtbase/src/network/ssl/qsslsocket_openssl_symbols_p.h:64, from /home/juan/rpi/qtbase/src/network/ssl/qsslcertificate_openssl.cpp:35: /home/juan/rpi/sysroot/usr/include/openssl/ossl_typ.h:93:16: note: forward declaration of ‘EVP_PKEY {aka struct evp_pkey_st}’ typedef struct evp_pkey_st EVP_PKEY; ^ /home/juan/rpi/qtbase/src/network/ssl/qsslcertificate_openssl.cpp:240:36: error: invalid use of incomplete type ‘EVP_PKEY {aka struct evp_pkey_st}’ } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DSA) { ^ In file included from /home/juan/rpi/sysroot/usr/include/openssl/crypto.h:31:0, from /home/juan/rpi/sysroot/usr/include/openssl/comp.h:16, from /home/juan/rpi/sysroot/usr/include/openssl/ssl.h:47, from ../../include/QtNetwork/5.6.4/QtNetwork/private/../../../../../../qtbase/src/network/ssl/qsslcontext_openssl_p.h:53, from ../../include/QtNetwork/5.6.4/QtNetwork/private/qsslcontext_openssl_p.h:1, from /home/juan/rpi/qtbase/src/network/ssl/qsslsocket_p.h:55, from /home/juan/rpi/qtbase/src/network/ssl/qsslsocket_openssl_p.h:63, from /home/juan/rpi/qtbase/src/network/ssl/qsslsocket_openssl_symbols_p.h:64, from /home/juan/rpi/qtbase/src/network/ssl/qsslcertificate_openssl.cpp:35: /home/juan/rpi/sysroot/usr/include/openssl/ossl_typ.h:93:16: note: forward declaration of ‘EVP_PKEY {aka struct evp_pkey_st}’ typedef struct evp_pkey_st EVP_PKEY; ^ /home/juan/rpi/qtbase/src/network/ssl/qsslcertificate_openssl.cpp:245:36: error: invalid use of incomplete type ‘EVP_PKEY {aka struct evp_pkey_st}’ } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_EC) { ^ In file included from /home/juan/rpi/sysroot/usr/include/openssl/crypto.h:31:0, from /home/juan/rpi/sysroot/usr/include/openssl/comp.h:16, from /home/juan/rpi/sysroot/usr/include/openssl/ssl.h:47, from ../../include/QtNetwork/5.6.4/QtNetwork/private/../../../../../../qtbase/src/network/ssl/qsslcontext_openssl_p.h:53, from ../../include/QtNetwork/5.6.4/QtNetwork/private/qsslcontext_openssl_p.h:1, from /home/juan/rpi/qtbase/src/network/ssl/qsslsocket_p.h:55, from /home/juan/rpi/qtbase/src/network/ssl/qsslsocket_openssl_p.h:63, from /home/juan/rpi/qtbase/src/network/ssl/qsslsocket_openssl_symbols_p.h:64, from /home/juan/rpi/qtbase/src/network/ssl/qsslcertificate_openssl.cpp:35: /home/juan/rpi/sysroot/usr/include/openssl/ossl_typ.h:93:16: note: forward declaration of ‘EVP_PKEY {aka struct evp_pkey_st}’ typedef struct evp_pkey_st EVP_PKEY; ^ /home/juan/rpi/qtbase/src/network/ssl/qsslcertificate_openssl.cpp:250:36: error: invalid use of incomplete type ‘EVP_PKEY {aka struct evp_pkey_st}’ } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DH) { ^ In file included from /home/juan/rpi/sysroot/usr/include/openssl/crypto.h:31:0, from /home/juan/rpi/sysroot/usr/include/openssl/comp.h:16, from /home/juan/rpi/sysroot/usr/include/openssl/ssl.h:47, from ../../include/QtNetwork/5.6.4/QtNetwork/private/../../../../../../qtbase/src/network/ssl/qsslcontext_openssl_p.h:53, from ../../include/QtNetwork/5.6.4/QtNetwork/private/qsslcontext_openssl_p.h:1, from /home/juan/rpi/qtbase/src/network/ssl/qsslsocket_p.h:55, from /home/juan/rpi/qtbase/src/network/ssl/qsslsocket_openssl_p.h:63, from /home/juan/rpi/qtbase/src/network/ssl/qsslsocket_openssl_symbols_p.h:64, from /home/juan/rpi/qtbase/src/network/ssl/qsslcertificate_openssl.cpp:35: /home/juan/rpi/sysroot/usr/include/openssl/ossl_typ.h:93:16: note: forward declaration of ‘EVP_PKEY {aka struct evp_pkey_st}’ typedef struct evp_pkey_st EVP_PKEY; ^ In file included from ../../include/QtNetwork/5.6.4/QtNetwork/private/qsslsocket_openssl_symbols_p.h:1:0, from /home/juan/rpi/qtbase/src/network/ssl/qsslcontext_openssl.cpp:44: /home/juan/rpi/qtbase/src/network/ssl/qsslcontext_openssl.cpp: In static member function ‘static QSslContext* QSslContext::fromConfiguration(QSslSocket::SslMode, const QSslConfiguration&, bool)’: ../../include/QtNetwork/5.6.4/QtNetwork/private/../../../../../../qtbase/src/network/ssl/qsslsocket_openssl_symbols_p.h:513:60: error: ‘SSL_CTRL_OPTIONS’ was not declared in this scope #define q_SSL_CTX_set_options(ctx,op) q_SSL_CTX_ctrl((ctx),SSL_CTRL_OPTIONS,(op),NULL) ^ /home/juan/rpi/qtbase/src/network/ssl/qsslcontext_openssl.cpp:189:5: note: in expansion of macro ‘q_SSL_CTX_set_options’ q_SSL_CTX_set_options(sslContext->ctx, options); ^ /home/juan/rpi/qtbase/src/network/ssl/qsslcontext_openssl.cpp:329:41: error: ‘SSL_CTRL_SET_ECDH_AUTO’ was not declared in this scope q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_SET_ECDH_AUTO, 1, NULL); ^ /home/juan/rpi/qtbase/src/network/ssl/qsslcontext_openssl.cpp: In member function ‘bool QSslContext::cacheSession(SSL*)’: /home/juan/rpi/qtbase/src/network/ssl/qsslcontext_openssl.cpp:473:50: error: invalid use of incomplete type ‘SSL_SESSION {aka struct ssl_session_st}’ m_sessionTicketLifeTimeHint = session->tlsext_tick_lifetime_hint; ^ In file included from ../../include/QtNetwork/5.6.4/QtNetwork/private/../../../../../../qtbase/src/network/ssl/qsslcontext_openssl_p.h:53:0, from ../../include/QtNetwork/5.6.4/QtNetwork/private/qsslcontext_openssl_p.h:1, from /home/juan/rpi/qtbase/src/network/ssl/qsslcontext_openssl.cpp:41: /home/juan/rpi/sysroot/usr/include/openssl/ssl.h:228:16: note: forward declaration of ‘SSL_SESSION {aka struct ssl_session_st}’ typedef struct ssl_session_st SSL_SESSION; ^ cd openglextensions/ && ( test -e Makefile || /home/juan/rpi/qt-build/bin/qmake /home/juan/rpi/qtbase/src/openglextensions/openglextensions.pro -o Makefile ) && make -f Makefile /home/juan/rpi/qt-build/bin/moc -DQT_NO_MTDEV -DQT_NO_XKB -DQT_NO_USING_NAMESPACE -DQT_BUILD_NETWORK_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I/home/juan/rpi/qtbase/mkspecs/devices/linux-rasp-pi2-g++ -I/home/juan/rpi/qtbase/src/network -I/home/juan/rpi/qtbase/src/network/kernel -I/home/juan/rpi/qt-build/include -I/home/juan/rpi/qt-build/include/QtNetwork -I/home/juan/rpi/qt-build/include/QtNetwork/5.6.4 -I/home/juan/rpi/qt-build/include/QtNetwork/5.6.4/QtNetwork -I/home/juan/rpi/qt-build/include/QtCore/5.6.4 -I/home/juan/rpi/qt-build/include/QtCore/5.6.4/QtCore -I/home/juan/rpi/qt-build/include/QtCore -I. -I/usr/arm-linux-gnueabihf/include/c++/5 -I/usr/arm-linux-gnueabihf/include/c++/5/arm-linux-gnueabihf/sf -I/usr/arm-linux-gnueabihf/include/c++/5/backward -I/usr/lib/gcc-cross/arm-linux-gnueabihf/5/include -I/usr/lib/gcc-cross/arm-linux-gnueabihf/5/include-fixed -I/usr/arm-linux-gnueabihf/include -I/home/juan/rpi/sysroot/usr/include /home/juan/rpi/qtbase/src/network/access/qnetworkaccessbackend_p.h -o .moc/moc_qnetworkaccessbackend_p.cpp /home/juan/rpi/qtbase/src/network/ssl/qsslkey_openssl.cpp: In member function ‘bool QSslKeyPrivate::fromEVP_PKEY(EVP_PKEY*)’: /home/juan/rpi/qtbase/src/network/ssl/qsslkey_openssl.cpp:81:13: error: invalid use of incomplete type ‘EVP_PKEY {aka struct evp_pkey_st}’ if (pkey->type == EVP_PKEY_RSA) { ^ In file included from /home/juan/rpi/sysroot/usr/include/openssl/crypto.h:31:0, from /home/juan/rpi/sysroot/usr/include/openssl/comp.h:16, from /home/juan/rpi/sysroot/usr/include/openssl/ssl.h:47, from ../../include/QtNetwork/5.6.4/QtNetwork/private/../../../../../../qtbase/src/network/ssl/qsslcontext_openssl_p.h:53, from ../../include/QtNetwork/5.6.4/QtNetwork/private/qsslcontext_openssl_p.h:1, from /home/juan/rpi/qtbase/src/network/ssl/qsslsocket_p.h:55, from /home/juan/rpi/qtbase/src/network/ssl/qsslkey_p.h:51, from /home/juan/rpi/qtbase/src/network/ssl/qsslkey_openssl.cpp:36: /home/juan/rpi/sysroot/usr/include/openssl/ossl_typ.h:93:16: note: forward declaration of ‘EVP_PKEY {aka struct evp_pkey_st}’ typedef struct evp_pkey_st EVP_PKEY; ^ /home/juan/rpi/qtbase/src/network/ssl/qsslkey_openssl.cpp:87:58: error: invalid application of ‘sizeof’ to incomplete type ‘RSA {aka rsa_st}’ memcpy(rsa, q_EVP_PKEY_get1_RSA(pkey), sizeof(RSA)); ^ /home/juan/rpi/qtbase/src/network/ssl/qsslkey_openssl.cpp:91:18: error: invalid use of incomplete type ‘EVP_PKEY {aka struct evp_pkey_st}’ else if (pkey->type == EVP_PKEY_DSA) { ^ In file included from /home/juan/rpi/sysroot/usr/include/openssl/crypto.h:31:0, from /home/juan/rpi/sysroot/usr/include/openssl/comp.h:16, from /home/juan/rpi/sysroot/usr/include/openssl/ssl.h:47, from ../../include/QtNetwork/5.6.4/QtNetwork/private/../../../../../../qtbase/src/network/ssl/qsslcontext_openssl_p.h:53, from ../../include/QtNetwork/5.6.4/QtNetwork/private/qsslcontext_openssl_p.h:1, from /home/juan/rpi/qtbase/src/network/ssl/qsslsocket_p.h:55, from /home/juan/rpi/qtbase/src/network/ssl/qsslkey_p.h:51, from /home/juan/rpi/qtbase/src/network/ssl/qsslkey_openssl.cpp:36: /home/juan/rpi/sysroot/usr/include/openssl/ossl_typ.h:93:16: note: forward declaration of ‘EVP_PKEY {aka struct evp_pkey_st}’ typedef struct evp_pkey_st EVP_PKEY; ^ /home/juan/rpi/qtbase/src/network/ssl/qsslkey_openssl.cpp:97:58: error: invalid application of ‘sizeof’ to incomplete type ‘DSA {aka dsa_st}’ memcpy(dsa, q_EVP_PKEY_get1_DSA(pkey), sizeof(DSA)); ^ /home/juan/rpi/qtbase/src/network/ssl/qsslkey_openssl.cpp:102:18: error: invalid use of incomplete type ‘EVP_PKEY {aka struct evp_pkey_st}’ else if (pkey->type == EVP_PKEY_EC) { ^ In file included from /home/juan/rpi/sysroot/usr/include/openssl/crypto.h:31:0, from /home/juan/rpi/sysroot/usr/include/openssl/comp.h:16, from /home/juan/rpi/sysroot/usr/include/openssl/ssl.h:47, from ../../include/QtNetwork/5.6.4/QtNetwork/private/../../../../../../qtbase/src/network/ssl/qsslcontext_openssl_p.h:53, from ../../include/QtNetwork/5.6.4/QtNetwork/private/qsslcontext_openssl_p.h:1, from /home/juan/rpi/qtbase/src/network/ssl/qsslsocket_p.h:55, from /home/juan/rpi/qtbase/src/network/ssl/qsslkey_p.h:51, from /home/juan/rpi/qtbase/src/network/ssl/qsslkey_openssl.cpp:36: /home/juan/rpi/sysroot/usr/include/openssl/ossl_typ.h:93:16: note: forward declaration of ‘EVP_PKEY {aka struct evp_pkey_st}’ typedef struct evp_pkey_st EVP_PKEY; ^ /home/juan/rpi/qtbase/src/network/ssl/qsslkey_openssl.cpp: In member function ‘int QSslKeyPrivate::length() const’: /home/juan/rpi/qtbase/src/network/ssl/qsslkey_openssl.cpp:175:49: error: invalid use of incomplete type ‘RSA {aka struct rsa_st}’ case QSsl::Rsa: return q_BN_num_bits(rsa->n); ^ In file included from /home/juan/rpi/sysroot/usr/include/openssl/crypto.h:31:0, from /home/juan/rpi/sysroot/usr/include/openssl/comp.h:16, from /home/juan/rpi/sysroot/usr/include/openssl/ssl.h:47, from ../../include/QtNetwork/5.6.4/QtNetwork/private/../../../../../../qtbase/src/network/ssl/qsslcontext_openssl_p.h:53, from ../../include/QtNetwork/5.6.4/QtNetwork/private/qsslcontext_openssl_p.h:1, from /home/juan/rpi/qtbase/src/network/ssl/qsslsocket_p.h:55, from /home/juan/rpi/qtbase/src/network/ssl/qsslkey_p.h:51, from /home/juan/rpi/qtbase/src/network/ssl/qsslkey_openssl.cpp:36: /home/juan/rpi/sysroot/usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of ‘RSA {aka struct rsa_st}’ typedef struct rsa_st RSA; ^ /home/juan/rpi/qtbase/src/network/ssl/qsslkey_openssl.cpp:176:49: error: invalid use of incomplete type ‘DSA {aka struct dsa_st}’ case QSsl::Dsa: return q_BN_num_bits(dsa->p); ^ In file included from /home/juan/rpi/sysroot/usr/include/openssl/crypto.h:31:0, from /home/juan/rpi/sysroot/usr/include/openssl/comp.h:16, from /home/juan/rpi/sysroot/usr/include/openssl/ssl.h:47, from ../../include/QtNetwork/5.6.4/QtNetwork/private/../../../../../../qtbase/src/network/ssl/qsslcontext_openssl_p.h:53, from ../../include/QtNetwork/5.6.4/QtNetwork/private/qsslcontext_openssl_p.h:1, from /home/juan/rpi/qtbase/src/network/ssl/qsslsocket_p.h:55, from /home/juan/rpi/qtbase/src/network/ssl/qsslkey_p.h:51, from /home/juan/rpi/qtbase/src/network/ssl/qsslkey_openssl.cpp:36: /home/juan/rpi/sysroot/usr/include/openssl/ossl_typ.h:107:16: note: forward declaration of ‘DSA {aka struct dsa_st}’ typedef struct dsa_st DSA; ^ /home/juan/rpi/qtbase/src/network/ssl/qsslkey_openssl.cpp: In function ‘QByteArray doCrypt(QSslKeyPrivate::Cipher, const QByteArray&, const QByteArray&, const QByteArray&, int)’: /home/juan/rpi/qtbase/src/network/ssl/qsslkey_openssl.cpp:270:20: error: aggregate ‘EVP_CIPHER_CTX ctx’ has incomplete type and cannot be defined EVP_CIPHER_CTX ctx; ^ make[2]: Entering directory '/home/juan/rpi/qt-build/src/openglextensions' make[2]: Nothing to be done for 'first'. make[2]: Leaving directory '/home/juan/rpi/qt-build/src/openglextensions' /home/juan/rpi/qt-build/bin/moc -DQT_NO_MTDEV -DQT_NO_XKB -DQT_NO_USING_NAMESPACE -DQT_BUILD_NETWORK_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I/home/juan/rpi/qtbase/mkspecs/devices/linux-rasp-pi2-g++ -I/home/juan/rpi/qtbase/src/network -I/home/juan/rpi/qtbase/src/network/kernel -I/home/juan/rpi/qt-build/include -I/home/juan/rpi/qt-build/include/QtNetwork -I/home/juan/rpi/qt-build/include/QtNetwork/5.6.4 -I/home/juan/rpi/qt-build/include/QtNetwork/5.6.4/QtNetwork -I/home/juan/rpi/qt-build/include/QtCore/5.6.4 -I/home/juan/rpi/qt-build/include/QtCore/5.6.4/QtCore -I/home/juan/rpi/qt-build/include/QtCore -I. -I/usr/arm-linux-gnueabihf/include/c++/5 -I/usr/arm-linux-gnueabihf/include/c++/5/arm-linux-gnueabihf/sf -I/usr/arm-linux-gnueabihf/include/c++/5/backward -I/usr/lib/gcc-cross/arm-linux-gnueabihf/5/include -I/usr/lib/gcc-cross/arm-linux-gnueabihf/5/include-fixed -I/usr/arm-linux-gnueabihf/include -I/home/juan/rpi/sysroot/usr/include /home/juan/rpi/qtbase/src/network/access/qnetworkaccessdebugpipebackend_p.h -o .moc/moc_qnetworkaccessdebugpipebackend_p.cpp Makefile:23054: recipe for target '.obj/qsslsocket_openssl.o' failed make[2]: *** [.obj/qsslsocket_openssl.o] Error 1 make[2]: *** Waiting for unfinished jobs.... cd widgets/ && ( test -e Makefile || /home/juan/rpi/qt-build/bin/qmake /home/juan/rpi/qtbase/src/widgets/widgets.pro -o Makefile ) && make -f Makefile Makefile:22196: recipe for target '.obj/qsslcertificate_openssl.o' failed make[2]: *** [.obj/qsslcertificate_openssl.o] Error 1 cd platformsupport/ && ( test -e Makefile || /home/juan/rpi/qt-build/bin/qmake /home/juan/rpi/qtbase/src/platformsupport/platformsupport.pro -o Makefile ) && make -f Makefile Makefile:22409: recipe for target '.obj/qsslcontext_openssl.o' failed make[2]: *** [.obj/qsslcontext_openssl.o] Error 1 Makefile:22820: recipe for target '.obj/qsslkey_openssl.o' failed make[2]: *** [.obj/qsslkey_openssl.o] Error 1 /home/juan/rpi/qtbase/src/network/access/qnetworkaccessdebugpipebackend_p.h:0: Note: No relevant classes found. No output generated. make[2]: Leaving directory '/home/juan/rpi/qt-build/src/network' Makefile:217: recipe for target 'sub-network-make_first' failed make[1]: *** [sub-network-make_first] Error 2 make[1]: *** Waiting for unfinished jobs.... make[2]: Entering directory '/home/juan/rpi/qt-build/src/platformsupport' make[2]: Nothing to be done for 'first'. make[2]: Leaving directory '/home/juan/rpi/qt-build/src/platformsupport' make[2]: Entering directory '/home/juan/rpi/qt-build/src/widgets' make[2]: Nothing to be done for 'first'. make[2]: Leaving directory '/home/juan/rpi/qt-build/src/widgets' make[1]: Leaving directory '/home/juan/rpi/qt-build/src' Makefile:46: recipe for target 'sub-src-make_first' failed make: *** [sub-src-make_first] Error 2
I added to my configure.sh the argument
-no-openssl
how it will affect to my programs? What will that restriction not allow me to do?
"make" was done good -
Disabling SSL means that you won't be able to establish secure network connections.