Building Qt for imx233-Olinuxino on Ubuntu 14.04 with different gcc versions
-
I'm building Qt with two gcc versions: arm-linux-gnueabi (from repository, 4.7.3) and generated by crosstool-ng (5.1.0).
The latter succeeds while the former fails during configuring with the following messages:OpenGL auto-detection... () arm-linux-gnueabi-g++ -c -pipe -pipe -mcpu=arm926ej-s -marm -mfloat-abi=soft --sysroot=/home/alexandr/armv5/sysroot -O2 -Wall -W -fPIC -I/home/alexandr/Qt/5.5/Src/qtbase/config.tests/unix/opengles2 -I. -I/home/alexandr/Qt/5.5/Src/qtbase/mkspecs/devices/linux-imx233-g++ -o opengles2.o /home/alexandr/Qt/5.5/Src/qtbase/config.tests/unix/opengles2/opengles2.cpp arm-linux-gnueabi-g++ -mfloat-abi=soft -Wl,-O1 -o opengles2 opengles2.o --sysroot=/home/alexandr/armv5/sysroot -lGLESv2 /home/alexandr/armv5/sysroot/lib/libpthread.so.0: undefined reference to `__default_rt_sa_restorer@GLIBC_PRIVATE' /home/alexandr/armv5/sysroot/lib/libpthread.so.0: undefined reference to `__tfind@GLIBC_PRIVATE' /home/alexandr/armv5/sysroot/lib/libpthread.so.0: undefined reference to `__tdelete@GLIBC_PRIVATE' /home/alexandr/armv5/sysroot/lib/libpthread.so.0: undefined reference to `__twalk@GLIBC_PRIVATE' /home/alexandr/armv5/sysroot/lib/libpthread.so.0: undefined reference to `__default_sa_restorer@GLIBC_PRIVATE' /home/alexandr/armv5/sysroot/lib/libpthread.so.0: undefined reference to `__getrlimit@GLIBC_PRIVATE' /home/alexandr/armv5/sysroot/lib/libpthread.so.0: undefined reference to `__h_errno@GLIBC_PRIVATE' /home/alexandr/armv5/sysroot/lib/libpthread.so.0: undefined reference to `__tsearch@GLIBC_PRIVATE' /home/alexandr/armv5/sysroot/lib/libpthread.so.0: undefined reference to `__libc_vfork@GLIBC_PRIVATE' collect2: error: ld returned 1 exit status make: *** [opengles2] Error 1 OpenGL 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/alexandr/Qt/5.5/Src/qtbase/mkspecs/devices/linux-imx233-g++.
The configure command was:
../Src/configure -release -device linux-imx233-g++ -device-option CROSS_COMPILE=arm-linux-gnueabi- -prefix $PWD/qtbase -opensource --confirm-license -opengl es2 -v -sysroot ~/armv5/sysroot -nomake examples
The qmake.conf for my device basically defines the CPU:
# # qmake configuration for linux-imx233-g++ using the arm-linux-gnueabi-g++ crosscompiler # include(../common/linux_device_pre.conf) QMAKE_CFLAGS += -mcpu=arm926ej-s -marm QMAKE_CXXFLAGS += $$QMAKE_CFLAGS include(../common/linux_arm_device_post.conf) load(qt_config)
Why does gcc 4.7.3 fail? Is it some kind of incompatibility of older versions of gcc?
-
Hi,
4.7.3 vs 5.1.0 are a bit too far apart