Errors building Qt for android
-
Can anyone shed light on these errors? o.O
Using:
Qt-Everywhere-Enterprise 5.2.1
CentOS 6.3
Android SDK r22
Android NDK r9d
android-toolchain-arm for linux-x86Configure:
@export JAVA_HOME=/usr/share/java
export ANDROID_SDK_ROOT=/home/cwrinn/builds/kiosk/staging/android-sdk-linux-r22.6.1
export ANDROID_NDK_ROOT=/home/cwrinn/builds/kiosk/staging/android-ndk-r9d
export ANDROID_API_VERSION=android-19
./configure -xplatform android-g++
--prefix=/home/cwrinn/builds/kiosk/out/qt-test
-nomake tests
-nomake examples
-nomake tools
-android-sdk /home/cwrinn/builds/kiosk/staging/android-sdk-linux-r22.6.1
-android-ndk /home/cwrinn/builds/kiosk/staging/android-ndk-r9d
-android-ndk-host linux-x86
-android-toolchain-version 4.8
-android-arch armeabi-v7a
-skip qttranslations
-skip qtwebkit
-skip qtserialport
-skip qtwebkit-examples
-skip qtx11extras
-no-warnings-are-errors
-opengl es2
-openssl
-I/home/cwrinn/builds/kiosk/out/android-armv7/include
-L/home/cwrinn/builds/kiosk/out/android-armv7/lib
-lpq -lcrypto -lssl
-plugin-sql-psql
-qt-libpng
-qt-libjpeg
-qt-zlib
-qt-freetype
-qt-pcre
-qt-xkbcommon
-commercial
-confirm-license
&& gmake@Build Log: http://pastebin.com/0MQ8fN65
-
Centos has a habit of coming with massively outdated packages.
See notes about centos in "Qt5 compiling guide":http://qt-project.org/wiki/Building_Qt_5_from_Git. Quoting:
[quote]Centos 5/6
Install missing Qt build dependencies:
yum install libxcb libxcb-devel xcb-util xcb-util-devel
Install Red Hat DevTools 1.1 for CentOS-5/6 ×86_64, they are required due to outdated GCC shipped with default CentOS
wget http://people.centos.org/tru/devtools-1.1/devtools-1.1.repo -O /etc/yum.repos.d/devtools-1.1.repo
yum install devtoolset-1.1
You also need to initialise your newly installed dev tools:
scl enable devtoolset-1.1 bashTest - Expect to see gcc version 4.7.2 ( * not * gcc version 4.4.7 )
gcc -v
For more info on preparing the environment on CentOS, see this thread [qt-project.org].[/quote] -
Thank you for the response. I followed your suggestions, but the result is still the same errors as in the posted buildlog.
@[cwrinn@andriyoid qt-everywhere-enterprise-src-5.2.1]$ gmake --version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.This program built for i386-redhat-linux-gnu
[cwrinn@andriyoid qt-everywhere-enterprise-src-5.2.1]$ make --version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.This program built for i386-redhat-linux-gnu
[cwrinn@andriyoid qt-everywhere-enterprise-src-5.2.1]$ gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.@ -
By the way, sorta hackish, but to get around these errors I had to slightly modify the NDK to be sure it loaded the required definitions, which for some reason were not getting loaded, even after removing the possibility of it loading system libs.
@diff -rupN sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi-v7a/include/bits/ctype_base.h sources~/cxx-stl/gnu-libstdc++/4.8/libs/armeabi-v7a/include/bits/ctype_base.h
--- sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi-v7a/include/bits/ctype_base.h 2014-01-21 22:50:52.000000000 -0600
+++ sources~/cxx-stl/gnu-libstdc++/4.8/libs/armeabi-v7a/include/bits/ctype_base.h 2014-04-08 12:52:55.030552065 -0500
-29,6 +29,7
// Information as gleaned from /usr/include/ctype.h, for solaris2.5.1// Support for Solaris 2.5.1
+#include </home/cwrinn/builds/kiosk/staging/android-ndk-r9d/platforms/android-19/arch-arm/usr/include/ctype.h>namespace std _GLIBCXX_VISIBILITY(default)
{@
Honestly willing to call this one a Google bug.