With the configuration of Samsung Arndale board to make a full Linaro Android build locally, it failed at:
In file included from external/chromium_org/content/common/android/hash_set.cc:5:0:
out/target/product/arndale/obj/GYP/shared_intermediates/content/jni/HashSet_jni.h:10:26: error: extra tokens at end of #ifndef directive [-Werror]
#ifndef java_util_HashSet<E>_JNI ^
out/target/product/arndale/obj/GYP/shared_intermediates/content/jni/HashSet_jni.h:11:26: error: missing whitespace after the macro name [-Werror]
#define java_util_HashSet<E>_JNI ^
In file included from external/chromium_org/content/common/android/hash_set.cc:5:0:
out/target/product/arndale/obj/GYP/shared_intermediates/content/jni/HashSet_jni.h:24:20: error: expected initializer before '<' token
const char kHashSet<E>ClassPath[] = "java/util/HashSet<E>"; ^
out/target/product/arndale/obj/GYP/shared_intermediates/content/jni/HashSet_jni.h:26:17: error: expected initializer before '<' token
jclass g_HashSet<E>_clazz = NULL;
^
out/target/product/arndale/obj/GYP/shared_intermediates/content/jni/HashSet_jni.h:29:22: error: expected '{' before '<' token
namespace JNI_HashSet<E> { ^
out/target/product/arndale/obj/GYP/shared_intermediates/content/jni/HashSet_jni.h:29:22: error: expected unqualified-id before '<' token
external/chromium_org/content/common/android/hash_set.cc:30:1: error: expected '}' at end of input
} // namespace content
^
cp out/target/product/arndale/obj/STATIC_LIBRARIES/content_content_common_gyp_intermediates/content/common/browser_plugin/browser_plugin_constants.d out/target/product/arndale/obj/STATIC_LIBRARIES/content_content_common_gyp_intermediates/content/common/browser_plugin/browser_plugin_constants.P; sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$//' -e '/^$/ d' -e 's/$/ :/' < out/target/product/arndale/obj/STATIC_LIBRARIES/content_content_common_gyp_intermediates/content/common/browser_plugin/browser_plugin_constants.d >> out/target/product/arndale/obj/STATIC_LIBRARIES/content_content_common_gyp_intermediates/content/common/browser_plugin/browser_plugin_constants.P; rm -f out/target/product/arndale/obj/STATIC_LIBRARIES/content_content_common_gyp_intermediates/content/common/browser_plugin/browser_plugin_constants.d
cc1plus: all warnings being treated as errors
make: *** [out/target/product/arndale/obj/STATIC_LIBRARIES/content_content_common_gyp_intermediates/content/common/android/hash_set.o] Error 1
This failure can be reproduced in following ways:
1. On ubuntu 13.10 & 14.04 64bit host machine with Linaro gcc 4.9 2014.05 or gcc 4.8 2014.04 tool chain:
With the configuration of Samsung Arndale board to make a full Linaro Android build locally, it failed at:
In file included from external/ chromium_ org/content/ common/ android/ hash_set. cc:5:0: product/ arndale/ obj/GYP/ shared_ intermediates/ content/ jni/HashSet_ jni.h:10: 26: error: extra tokens at end of #ifndef directive [-Werror] HashSet< E>_JNI
^ product/ arndale/ obj/GYP/ shared_ intermediates/ content/ jni/HashSet_ jni.h:11: 26: error: missing whitespace after the macro name [-Werror] HashSet< E>_JNI
^
out/target/
#ifndef java_util_
out/target/
#define java_util_
In file included from external/ chromium_ org/content/ common/ android/ hash_set. cc:5:0: product/ arndale/ obj/GYP/ shared_ intermediates/ content/ jni/HashSet_ jni.h:24: 20: error: expected initializer before '<' token E>ClassPath[ ] = "java/util/ HashSet< E>";
^ product/ arndale/ obj/GYP/ shared_ intermediates/ content/ jni/HashSet_ jni.h:26: 17: error: expected initializer before '<' token product/ arndale/ obj/GYP/ shared_ intermediates/ content/ jni/HashSet_ jni.h:29: 22: error: expected '{' before '<' token
^ product/ arndale/ obj/GYP/ shared_ intermediates/ content/ jni/HashSet_ jni.h:29: 22: error: expected unqualified-id before '<' token chromium_ org/content/ common/ android/ hash_set. cc:30:1: error: expected '}' at end of input product/ arndale/ obj/STATIC_ LIBRARIES/ content_ content_ common_ gyp_intermediat es/content/ common/ browser_ plugin/ browser_ plugin_ constants. d out/target/ product/ arndale/ obj/STATIC_ LIBRARIES/ content_ content_ common_ gyp_intermediat es/content/ common/ browser_ plugin/ browser_ plugin_ constants. P; sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$//' -e '/^$/ d' -e 's/$/ :/' < out/target/ product/ arndale/ obj/STATIC_ LIBRARIES/ content_ content_ common_ gyp_intermediat es/content/ common/ browser_ plugin/ browser_ plugin_ constants. d >> out/target/ product/ arndale/ obj/STATIC_ LIBRARIES/ content_ content_ common_ gyp_intermediat es/content/ common/ browser_ plugin/ browser_ plugin_ constants. P; rm -f out/target/ product/ arndale/ obj/STATIC_ LIBRARIES/ content_ content_ common_ gyp_intermediat es/content/ common/ browser_ plugin/ browser_ plugin_ constants. d product/ arndale/ obj/STATIC_ LIBRARIES/ content_ content_ common_ gyp_intermediat es/content/ common/ android/ hash_set. o] Error 1
out/target/
const char kHashSet<
out/target/
jclass g_HashSet<E>_clazz = NULL;
^
out/target/
namespace JNI_HashSet<E> {
out/target/
external/
} // namespace content
^
cp out/target/
cc1plus: all warnings being treated as errors
make: *** [out/target/
This failure can be reproduced in following ways:
1. On ubuntu 13.10 & 14.04 64bit host machine with Linaro gcc 4.9 2014.05 or gcc 4.8 2014.04 tool chain:
http:// snapshots. linaro. org/android/ ~linaro- android/ toolchain- 4.9-2014. 05/1/android- toolchain- eabi-4. 9-2014. 05-x86. tar.bz2
http:// snapshots. linaro. org/android/ ~linaro- android/ toolchain- 4.8-2014. 04/1/android- toolchain- eabi-4. 8-2014. 04-x86. tar.bz2
$ sudo apt-get install gnupg flex bison gperf build-essential zip curl zlib1g-dev git bzr acpitool libfwtsacpica1 libc6-dev lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev g++-multilib tofrodos python-markdown libxml2-utils xsltproc u-boot-tools openjdk-6-jdk openjdk-6-jre vim-common python-parted python-yaml wget uuid-dev software- properties- common /storage. googleapis. com/git- repo-downloads/ repo > repo sbin/repo sbin/repo git.linaro. org/platform/ manifest. git -b linaro_ android_ 4.4.2 -m default.xml -g common,arndale snapshots. linaro. org/android/ ~linaro- android/ toolchain- 4.9-2014. 05/1/android- toolchain- eabi-4. 9-2014. 05-x86. tar.bz2 toolchain- eabi-4. 9-2014. 05-x86. tar.bz2 PRODUCT= full_arndale TARGET_ SIMULATOR= false WITH_HOST_ DALVIK= false INCLUDE_PERF=0 SLEEP_OPTION=60 TOOLCHAIN_ TRIPLET= arm-linux- androideabi TARGET_ TOOLS_PREFIX= /Absolute_ Path_To_ Toolchain/ bin/arm- linux-androidea bi- LINARO_ BUILD_SPEC= arndale- linaro boottarball systemtarball userdatatarball showcommands > build_log_ YYMMDD. txt 2>&1 &
$ sudo dpkg --add-architecture i386
$ curl https:/
$ chmod 755 repo
$ sudo ln -s /Absolute_Path/repo /usr/local/
$ which repo
$ ls -l /usr/local/
$ mkdir arndale
$ cd arndale
$ repo init -u git://android.
$ repo sync -j2
$ cd ../
$ wget http://
$ tar xjvf android-
$ cd arndale
$ . build/envsetup.sh
$ make -j4 TARGET_
2. Using linaro_ android_ build_cmds. sh (gcc 4.8 toolchain will be used in this condition): snapshots. linaro. org/android/ ~linaro- android/ linux-linaro- arndale/ 462/pinned- manifest. xml snapshots. linaro. org/android/ ~linaro- android/ linux-linaro- arndale/ 462/linaro_ android_ build_cmds. sh android_ build_cmds. sh android_ build_cmds. sh, Add WITH_HOST_ DALVIK= false in "export" section, around line 140 YYMMDD. txt 2>&1 snapshots. linaro. org/android/ binaries/ open/20131008/ build-info. tar.bz2 android_ build_cmds. sh -m pinned-manifest.xml -d /Absolute_ Path_To/ full_build -o /Absolute_ Path_To/ build-info. tar.bz2 -l botao.sun -y
$ wget http://
$ wget http://
$ chmod 755 linaro_
Edit linaro_
Modify the last line - make command, to: make -j${CPUS} boottarball systemtarball userdatatarball > build_log_
$ wget http://
$ mkdir full_build
$ ./linaro_