Unsolved Error during cross-compilation for ARMv5 (fatal error: stdio.h: No such file or directory)
-
I'm trying to build Qt for ARMv5 platform (OMAP-L138) but I've got the error:
+ cd qtbase + /home/tankist/qt/src_dir/qtbase/configure -top-level -platform linux-g++-64 -xplatform linux-arm926 -release -sysroot /home/tankist/ti/mcsdk_1_01_00_02/targetNFS -prefix /usr/local/qt5 -opensource -confirm-license -no-pkg-config -v This is the Qt Open Source Edition. You are licensed to use this software under the terms of the Lesser GNU General Public License (LGPL) versions 2.1. You are also licensed to use this software under the terms of the GNU Lesser General Public License (LGPL) versions 3. You have already accepted the terms of the Open Source license. Performing shadow build... Preparing build tree... Precompiled-headers support enabled. arm-arago-linux-gnueabi-g++ -c -fvisibility=hidden fvisibility.c Symbol visibility control enabled. cc1plus: error: unrecognized command line option "-fuse-ld=gold" arm-arago-linux-gnueabi-g++ --sysroot=/home/tankist/ti/mcsdk_1_01_00_02/targetNFS -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)." Symbolic function binding disabled. DEFAULT_INCDIRS="/home/tankist/arago/arago-2011.09/armv5te/arm-arago-linux-gnueabi/include/c++/4.5.3 /home/tankist/arago/arago-2011.09/armv5te/arm-arago-linux-gnueabi/include/c++/4.5.3/arm-arago-linux-gnueabi /home/tankist/arago/arago-2011.09/armv5te/arm-arago-linux-gnueabi/include/c++/4.5.3/backward /home/tankist/arago/arago-2011.09/armv5te/lib/gcc/arm-arago-linux-gnueabi/4.5.3/include /home/tankist/arago/arago-2011.09/armv5te/lib/gcc/arm-arago-linux-gnueabi/4.5.3/include-fixed /home/tankist/arago/arago-2011.09/armv5te/arm-arago-linux-gnueabi/include /home/tankist/ti/mcsdk_1_01_00_02/targetNFS/usr/include " DEFAULT_LIBDIRS="/home/tankist/arago/arago-2011.09/armv5te/lib/gcc/arm-arago-linux-gnueabi/4.5.3 /home/tankist/arago/arago-2011.09/armv5te/lib/gcc /home/tankist/arago/arago-2011.09/armv5te/arm-arago-linux-gnueabi/lib /home/tankist/ti/mcsdk_1_01_00_02/targetNFS/lib /home/tankist/ti/mcsdk_1_01_00_02/targetNFS/usr/lib " Running configuration tests... Found pkg-config from $PATH: /usr/bin/pkg-config pkg-config support disabled. Determining architecture... () arm-arago-linux-gnueabi-g++ -c -pipe --sysroot=/home/tankist/ti/mcsdk_1_01_00_02/targetNFS -g -Wall -W -fPIC -I../../../../src_dir/qtbase/config.tests/arch -I. -I../../../../src_dir/qtbase/mkspecs/linux-arm926 -o arch.o ../../../../src_dir/qtbase/config.tests/arch/arch.cpp ../../../../src_dir/qtbase/config.tests/arch/arch.cpp:37:19: fatal error: stdio.h: No such file or directory compilation terminated. make: *** [arch.o] Error 1 Unable to determine architecture!
My target platform (linux-arm926) is hand-made and completely based on the linux-arm-gnueabi-g++ platform except the right compiler name:
# # qmake configuration for building with linux-arm926 # MAKEFILE_GENERATOR = UNIX CONFIG += incremental QMAKE_INCREMENTAL_STYLE = sublib include(../common/linux.conf) include(../common/gcc-base-unix.conf) include(../common/g++-unix.conf) # modifications to g++.conf QMAKE_CC = arm-arago-linux-gnueabi-gcc QMAKE_CXX = arm-arago-linux-gnueabi-g++ QMAKE_LINK = arm-arago-linux-gnueabi-g++ QMAKE_LINK_SHLIB = arm-arago-linux-gnueabi-g++ # modifications to linux.conf QMAKE_AR = arm-arago-linux-gnueabi-ar cqs QMAKE_OBJCOPY = arm-arago-linux-gnueabi-objcopy QMAKE_NM = arm-arago-linux-gnueabi-nm -P QMAKE_STRIP = arm-arago-linux-gnueabi-strip load(qt_config)
What is wrong?
-
Does your sysroot (/home/tankist/ti/mcsdk_1_01_00_02/targetNFS) contain stdio.h (for example in usr/include)?
-
No. Maybe I was wrong and don't understand what sysroot means? I thought that should be a copy of rootfs on the target machine (it's a simple rootfs which was built from buildroot).
-
Hi,
It should be a copy of the target machine rootfs containing the development package of the needed dependencies.