Compile Qt on embedded Board
-
I want to cross compile Qt on MarsBoard A20 and I try to make qmake.conf but I was not successful!
occur blew errors by this qmake.confqmake configuration for the A20_OlinuxinO boards
http://www.olimex.com/
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental gdb_dwarf_index
QMAKE_INCREMENTAL_STYLE = sublibinclude(../../common/linux.conf)
include(../../common/gcc-base-unix.conf)
include(../../common/g++-unix.conf)load(device_config)
QT_QPA_DEFAULT_PLATFORM = eglfs
#EGLFS_PLATFORM_HOOKS_SOURCES = $$PWD/qeglfshooks_a20.cppmodifications to g++.conf
QMAKE_CC = $${CROSS_COMPILE}gcc
QMAKE_CXX = $${CROSS_COMPILE}g++
QMAKE_LINK = $${QMAKE_CXX}
QMAKE_LINK_SHLIB = $${QMAKE_CXX}modifications to linux.conf
QMAKE_AR = $${CROSS_COMPILE}ar cqs
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
QMAKE_NM = $${CROSS_COMPILE}nm -P
QMAKE_STRIP = $${CROSS_COMPILE}strip#modifications to gcc-base.conf
QMAKE_CFLAGS += $${COMPILER_FLAGS}
QMAKE_CXXFLAGS += $${COMPILER_FLAGS}QMAKE_CFLAGS_RELEASE += -O2 -march=armv7-a
QMAKE_CXXFLAGS_RELEASE += -O2 -march=armv7-aQMAKE_LIBS += -lrt -lpthread -ldl
Extra stuff (OpenGL, DirectFB, ...)
QMAKE_INCDIR_EGL = /media/saman/c60e8a4e-6cbe-4701-8f08-3c43c7d7a0ad/usr/include/EGL
/media/saman/c60e8a4e-6cbe-4701-8f08-3c43c7d7a0ad/usr/include
/media/saman/c60e8a4e-6cbe-4701-8f08-3c43c7d7a0ad/usr/include/dbus-1.0
/media/saman/c60e8a4e-6cbe-4701-8f08-3c43c7d7a0ad/usr/include/dbus-1.0/dbus
QMAKE_LIBDIR_EGL = /media/saman/c60e8a4e-6cbe-4701-8f08-3c43c7d7a0ad/usr/lib
QMAKE_INCDIR_OPENGL_ES2 = /media/saman/c60e8a4e-6cbe-4701-8f08-3c43c7d7a0ad/usr/include/GLES2
/media/saman/c60e8a4e-6cbe-4701-8f08-3c43c7d7a0ad/usr/include
QMAKE_LIBDIR_OPENGL_ES2 = /media/saman/c60e8a4e-6cbe-4701-8f08-3c43c7d7a0ad/usr/lib
#QMAKE_INCDIR_OPENVG = $${QMAKE_INCDIR_EGL}
#QMAKE_LIBDIR_OPENVG = $${QMAKE_LIBDIR_EGL}QMAKE_LIBS_EGL = -lEGL
QMAKE_LIBS_OPENGL_ES2 = -lGLESv2 $${QMAKE_LIBS_EGL}
#QMAKE_LIBS_OPENVG = -lOpenVG $${QMAKE_LIBS_EGL}Sanity check
#deviceSanityCheckCompiler()
load(qt_config)
./configure -release -opengl es2 -device Marsboard -device-option CROSS_COMPILE=/home/saman/opt/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- -sysroot /media/saman/c60e8a4e-6cbe-4701-8f08-3c43c7d7a0ad -opensource -confirm-license -prefix /usr/local/qt5pi -v -openssl-linked -xcb
Running configuration tests...
Checking for gold linker...- cd /home/saman/qt-everywhere-src-5.10.0/mars/config.tests && /home/saman/opt/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -fuse-ld=gold -o conftest-out conftest.cpp
> collect2: fatal error: cannot find 'ld'
compilation terminated.
test config.qtbase.tests.use_gold_linker FAILED
Checking for machine tuple...- /home/saman/opt/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -dumpmachine
arm-linux-gnueabihf
test config.qtbase.tests.machineTuple succeeded
Checking for valid makespec...- cd /home/saman/qt-everywhere-src-5.10.0/mars/config.tests/verifyspec && /home/saman/qt-everywhere-src-5.10.0/mars/qtbase/bin/qmake "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared warn_off console single_arch" "QMAKE_CFLAGS += --sysroot=/media/saman/c60e8a4e-6cbe-4701-8f08-3c43c7d7a0ad" "QMAKE_CXXFLAGS += --sysroot=/media/saman/c60e8a4e-6cbe-4701-8f08-3c43c7d7a0ad" "QMAKE_LFLAGS += --sysroot=/media/saman/c60e8a4e-6cbe-4701-8f08-3c43c7d7a0ad" -early "CONFIG += cross_compile" /home/saman/qt-everywhere-src-5.10.0/qtbase/config.tests/verifyspec
- cd /home/saman/qt-everywhere-src-5.10.0/mars/config.tests/verifyspec && MAKEFLAGS= /usr/bin/make clean && MAKEFLAGS= /usr/bin/make
rm -f verifyspec.o
rm -f *~ core *.core
/home/saman/opt/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -c -pipe -march=armv7-a -mtune=cortex-a7 -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=hard --sysroot=/media/saman/c60e8a4e-6cbe-4701-8f08-3c43c7d7a0ad -O2 -O3 -std=gnu++11 -w -fPIC -I/home/saman/qt-everywhere-src-5.10.0/qtbase/config.tests/verifyspec -I. -I/home/saman/qt-everywhere-src-5.10.0/qtbase/mkspecs/devices/Marsboard -o verifyspec.o /home/saman/qt-everywhere-src-5.10.0/qtbase/config.tests/verifyspec/verifyspec.cpp
/home/saman/opt/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ --sysroot=/media/saman/c60e8a4e-6cbe-4701-8f08-3c43c7d7a0ad -Wl,-O1 -o verifyspec verifyspec.o -L/media/saman/c60e8a4e-6cbe-4701-8f08-3c43c7d7a0ad/usr/arm-linux-gnueabihf/lib/arm-linux-gnueabihf -L/media/saman/c60e8a4e-6cbe-4701-8f08-3c43c7d7a0ad/arm-linux-gnueabihf/lib -L/media/saman/c60e8a4e-6cbe-4701-8f08-3c43c7d7a0ad/lib/arm-linux-gnueabihf -L/home/saman/opt/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/lib -L/home/saman/opt/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf -lrt -lpthread -ldl -Wl,-rpath-link,/media/saman/c60e8a4e-6cbe-4701-8f08-3c43c7d7a0ad/lib/arm-linux-gnueabihf -Wl,-rpath-link,/media/saman/c60e8a4e-6cbe-4701-8f08-3c43c7d7a0ad/usr/lib/arm-linux-gnueabihf
> /home/saman/opt/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/lib/libstdc++.so: undefined reference to `clock_gettime@GLIBC_2.17'
collect2: error: ld returned 1 exit status
Makefile:66: recipe for target 'verifyspec' failed
make: *** [verifyspec] Error 1
Note: Also available for Linux: linux-clang linux-iccERROR: Cannot compile a minimal program. The toolchain or QMakeSpec is broken.
please help me
- cd /home/saman/qt-everywhere-src-5.10.0/mars/config.tests && /home/saman/opt/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -fuse-ld=gold -o conftest-out conftest.cpp
-
Hi
Did you get any solution for the above issue ?
I am facing a similar issue as above and any solutions would really help.Running configuration tests...
Checking for gold linker...- cd /home/viu1cob/samba/workspace/source/qt-everywhere-opensource-src-5.9.5/config.tests && /opt/tooling/codesourcery/MGC-2015.12-138-arm-gcc-5.2.0/Sourcery_CodeBench_for_ARM_Embedded/bin/arm-none-linux-gnueabi-g++ -fuse-ld=gold -o conftest-out conftest.cpp
collect2: fatal error: cannot find 'ld'
compilation terminated.
test config.qtbase.tests.use_gold_linker FAILED
Checking for machine tuple...- /opt/tooling/codesourcery/MGC-2015.12-138-arm-gcc-5.2.0/Sourcery_CodeBench_for_ARM_Embedded/bin/arm-none-linux-gnueabi-g++ -dumpmachine
arm-none-linux-gnueabi
test config.qtbase.tests.machineTuple succeeded
Checking for valid makespec...- cd /home/viu1cob/samba/workspace/source/qt-everywhere-opensource-src-5.9.5/config.tests/verifyspec && /home/viu1cob/samba/workspace/source/qt-everywhere-opensource-src-5.9.5/qtbase/bin/qmake "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared warn_off console single_arch" "QMAKE_CFLAGS += --sysroot=/opt/tooling/codesourcery/MGC-2015.12-138-arm-gcc-5.2.0/Sourcery_CodeBench_for_ARM_Embedded/arm-none-linux-gnueabi/libc" "QMAKE_CXXFLAGS += --sysroot=/opt/tooling/codesourcery/MGC-2015.12-138-arm-gcc-5.2.0/Sourcery_CodeBench_for_ARM_Embedded/arm-none-linux-gnueabi/libc" "QMAKE_LFLAGS += --sysroot=/opt/tooling/codesourcery/MGC-2015.12-138-arm-gcc-5.2.0/Sourcery_CodeBench_for_ARM_Embedded/arm-none-linux-gnueabi/libc" -early "CONFIG += cross_compile" /home/viu1cob/samba/workspace/source/qt-everywhere-opensource-src-5.9.5/qtbase/config.tests/verifyspec
- cd /home/viu1cob/samba/workspace/source/qt-everywhere-opensource-src-5.9.5/config.tests/verifyspec && MAKEFLAGS= /usr/bin/make clean && MAKEFLAGS= /usr/bin/make
rm -f verifyspec.o
rm -f *~ core *.core
/opt/tooling/codesourcery/MGC-2015.12-138-arm-gcc-5.2.0/Sourcery_CodeBench_for_ARM_Embedded/bin/arm-none-linux-gnueabi-g++ -c -pipe -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=hard --sysroot=/opt/tooling/codesourcery/MGC-2015.12-138-arm-gcc-5.2.0/Sourcery_CodeBench_for_ARM_Embedded/arm-none-linux-gnueabi/libc --sysroot=/opt/tooling/codesourcery/MGC-2015.12-138-arm-gcc-5.2.0/Sourcery_CodeBench_for_ARM_Embedded/arm-none-linux-gnueabi/libc -O2 -std=gnu++11 -w -fPIC -I/home/viu1cob/samba/workspace/source/qt-everywhere-opensource-src-5.9.5/qtbase/config.tests/verifyspec -I. -I/home/viu1cob/samba/workspace/source/qt-everywhere-opensource-src-5.9.5/qtbase/mkspecs/devices/linux-imx6-g++ -o verifyspec.o /home/viu1cob/samba/workspace/source/qt-everywhere-opensource-src-5.9.5/qtbase/config.tests/verifyspec/verifyspec.cpp
/opt/tooling/codesourcery/MGC-2015.12-138-arm-gcc-5.2.0/Sourcery_CodeBench_for_ARM_Embedded/bin/arm-none-linux-gnueabi-g++ -mfloat-abi=hard --sysroot=/opt/tooling/codesourcery/MGC-2015.12-138-arm-gcc-5.2.0/Sourcery_CodeBench_for_ARM_Embedded/arm-none-linux-gnueabi/libc --sysroot=/opt/tooling/codesourcery/MGC-2015.12-138-arm-gcc-5.2.0/Sourcery_CodeBench_for_ARM_Embedded/arm-none-linux-gnueabi/libc -Wl,-O1 -o verifyspec verifyspec.o
/opt/tooling/codesourcery/MGC-2015.12-138-arm-gcc-5.2.0/Sourcery_CodeBench_for_ARM_Embedded/bin/../lib/gcc/arm-none-linux-gnueabi/5.2.0/../../../../arm-none-linux-gnueabi/bin/ld: error: verifyspec.o uses VFP register arguments, verifyspec does not
/opt/tooling/codesourcery/MGC-2015.12-138-arm-gcc-5.2.0/Sourcery_CodeBench_for_ARM_Embedded/bin/../lib/gcc/arm-none-linux-gnueabi/5.2.0/../../../../arm-none-linux-gnueabi/bin/ld: failed to merge target specific data of file verifyspec.o
collect2: error: ld returned 1 exit status