Error building NDK toolchain from source: "could not find a working compiler"

1,090 views
Skip to first unread message

Michael

unread,
Dec 1, 2010, 11:28:10 AM12/1/10
to android-ndk
Hello,

I am experiencing problems with building the NDK R4b from source on
Mac OS X.
In the end I will need to build a version of the Crystax NDK to which
further patches have been applied, but I am running into an issue that
already comes up when trying to build a completely unmodified NDK.

I am able to reproduce this issue on my machine as follows:

- Extract NDK file for Mac OS at some location (in my case /Users/
michael/Devel/ndkbuild2/) and create two directories ../toolchain-
sources and ../build-dir.

- Call script to download the toolchain sources:
./build/tools/download-toolchain-sources.sh --verbose ../toolchain-
sources/

- Edit the script to build the cross-compiler:
Add option --disable-werror to the configure call. (Otherwise the
build process will stop whenever the first warning is encountered!)

- Start the script to build the cross-compiler:
./build/tools/build-gcc.sh --verbose -j1 --build-out=/Users/michael/
Devel/ndkbuild2/build-dir /Users/michael/Devel/ndkbuild2/toolchain-
sources /Users/michael/Devel/ndkbuild2/android-ndk-r4b arm-eabi-4.4.0

The last command starts the build process, but then at some point an
error is triggered in a configure script related to gmp-4.2.2.
Below is the relevant command line output, as well as the config.log
file from the failed configure script. I am not really an expert in
interpreting the configure; as far as I understand it, it fails at the
sizeof(long) check. I have installed all packages on my machine that I
know have to be installed.
What is the reason for this error and how can I fix it? Thanks for any
help.

Cheers,
Michael


------8<------
[......]

([ -d gmp-4.2.2 ] || \
mkdir gmp-4.2.2) && \
(cd gmp-4.2.2 ; \
/Users/michael/Devel/ndkbuild2/build-dir/temp-src/gmp-4.2.2/
configure \
'--disable-nls' '--prefix=/Users/michael/Devel/ndkbuild2/
android-ndk-r4b/build/prebuilt/darwin-x86/arm-eabi-4.4.0' '--with-
sysroot=/Users/michael/Devel/ndkbuild2/android-ndk-r4b/build/platforms/
android-3/arch-arm' '--with-binutils-version=2.19' '--with-gcc-
version=4.4.0' '--with-gdb-version=6.6' '--disable-werror' --program-
transform-name='s&^&arm-eabi-&' --prefix=/Users/michael/Devel/
ndkbuild2/build-dir/temp-install --disable-shared --host=i386-apple-
darwin10.4.0 --build=i386-apple-darwin10.4.0) && \
touch stmp-config-host-gmp
checking build system type... i386-apple-darwin10.4.0
checking host system type... i386-apple-darwin10.4.0
checking for a BSD-compatible install... /opt/local/bin/ginstall -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of
Makefiles... no
checking ABI=32
checking compiler gcc ... yes
checking compiler gcc has sizeof(long)==4... no
checking compiler icc ... no
checking whether cc is gcc... yes
checking compiler cc ... yes
checking compiler cc has sizeof(long)==4... no
configure: error: could not find a working compiler, see config.log
for details
make: *** [stmp-config-host-gmp] Error 1
Error while building toolchain. See

------8<------

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by GNU MP configure 4.2.2, which was
generated by GNU Autoconf 2.59. Invocation command line was

$ /Users/michael/Devel/ndkbuild2/build-dir/temp-src/gmp-4.2.2/
configure --disable-nls --prefix=/Users/michael/Devel/ndkbuild2/
android-ndk-r4b/build/prebuilt/darwin-x86/arm-eabi-4.4.0 --with-
sysroot=/Users/michael/Devel/ndkbuild2/android-ndk-r4b/build/platforms/
android-3/arch-arm --with-binutils-version=2.19 --with-gcc-
version=4.4.0 --with-gdb-version=6.6 --disable-werror --program-
transform-name=s&^&arm-eabi-& --prefix=/Users/michael/Devel/ndkbuild2/
build-dir/temp-install --disable-shared --host=i386-apple-darwin10.4.0
--build=i386-apple-darwin10.4.0

## --------- ##
## Platform. ##
## --------- ##

hostname = localadmins-MacBook-Pro.local
uname -m = i386
uname -r = 10.4.0
uname -s = Darwin
uname -v = Darwin Kernel Version 10.4.0: Fri Apr 23 18:28:53 PDT 2010;
root:xnu-1504.7.4~1/RELEASE_I386

/usr/bin/uname -p = i386
/bin/uname -X = unknown

/bin/arch = unknown
/usr/bin/arch -k = unknown
/usr/convex/getsysinfo = unknown
hostinfo = Mach kernel version:
Darwin Kernel Version 10.4.0: Fri Apr 23 18:28:53 PDT 2010;
root:xnu-1504.7.4~1/RELEASE_I386
Kernel configured for up to 2 processors.
2 processors are physically available.
2 processors are logically available.
Processor type: i486 (Intel 80486)
Processors active: 0 1
Primary memory available: 8.00 gigabytes
Default processor set: 67 tasks, 324 threads, 2 processors
Load average: 1.49, Mach factor: 0.89
/bin/machine = unknown
/usr/bin/oslevel = unknown
/bin/universe = unknown

PATH: /Users/michael/Devel/android-sdk-mac_x86/tools/
PATH: /Users/michael/Devel/android-ndk-r4-crystax
PATH: /opt/local/bin
PATH: opt/local/sbin
PATH: /usr/bin
PATH: /bin
PATH: /usr/sbin
PATH: /sbin
PATH: /usr/local/bin
PATH: /usr/local/git/bin
PATH: /usr/X11/bin


## ----------- ##
## Core tests. ##
## ----------- ##

configure:1654: checking build system type
configure:1672: result: i386-apple-darwin10.4.0
configure:1680: checking host system type
configure:1694: result: i386-apple-darwin10.4.0
configure:1717: checking for a BSD-compatible install
configure:1772: result: /opt/local/bin/ginstall -c
configure:1783: checking whether build environment is sane
configure:1826: result: yes
configure:1883: checking for gawk
configure:1899: found /opt/local/bin/gawk
configure:1909: result: gawk
configure:1919: checking whether make sets $(MAKE)
configure:1939: result: yes
configure:2105: checking whether to enable maintainer-specific
portions of Makefiles
configure:2114: result: no
User:
ABI=32
CC=
CFLAGS=
CPPFLAGS=(unset)
MPN_PATH=
GMP:
abilist=32
cclist=gcc icc cc
configure:3794: gcc 2>&1 | grep xlc >/dev/null
configure:3797: $? = 1
configure:3851: checking compiler gcc
Test compile:
configure:3865: gcc conftest.c >&5
configure:3868: $? = 0
configure:3873: ./a.out || ./b.out || ./a.exe || ./a_out.exe || ./
conftest
configure:3876: $? = 0
Test compile: function pointer return
configure:3919: gcc conftest.c >&5
configure:3922: $? = 0
configure:3927: ./a.out || ./b.out || ./a.exe || ./a_out.exe || ./
conftest
configure:3930: $? = 0
Test compile: cmov instruction
configure:3975: gcc conftest.c >&5
configure:3978: $? = 0
configure:3983: ./a.out || ./b.out || ./a.exe || ./a_out.exe || ./
conftest
configure:3986: $? = 0
Test compile: double -> ulong conversion
configure:4032: gcc conftest.c >&5
configure:4035: $? = 0
configure:4040: ./a.out || ./b.out || ./a.exe || ./a_out.exe || ./
conftest
configure:4043: $? = 0
Test compile: double negation
configure:4087: gcc conftest.c >&5
configure:4090: $? = 0
configure:4095: ./a.out || ./b.out || ./a.exe || ./a_out.exe || ./
conftest
configure:4098: $? = 0
Test compile: double -> float conversion
configure:4143: gcc conftest.c >&5
configure:4146: $? = 0
configure:4151: ./a.out || ./b.out || ./a.exe || ./a_out.exe || ./
conftest
configure:4154: $? = 0
Test compile: gnupro alpha ev6 char spilling
configure:4227: gcc conftest.c >&5
conftest.c: In function 'param_init':
conftest.c:18: warning: incompatible implicit declaration of built-in
function 'memcpy'
configure:4230: $? = 0
configure:4235: ./a.out || ./b.out || ./a.exe || ./a_out.exe || ./
conftest
configure:4238: $? = 0
Test compile: __builtin_alloca availability
configure:4278: gcc conftest.c >&5
Undefined symbols:
"_main", referenced from:
start in crt1.10.6.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
configure:4281: $? = 1
failed program was:
int k; int foo () { __builtin_alloca (k); }
Test compile: abs int -> double conversion
configure:4402: gcc conftest.c >&5
configure:4405: $? = 0
configure:4410: ./a.out || ./b.out || ./a.exe || ./a_out.exe || ./
conftest
configure:4413: $? = 0
Test compile: long long reliability test 1
configure:4466: gcc conftest.c >&5
configure:4469: $? = 0
configure:4474: ./a.out || ./b.out || ./a.exe || ./a_out.exe || ./
conftest
configure:4477: $? = 0
Test compile: long long reliability test 2
configure:4526: gcc conftest.c >&5
configure:4529: $? = 0
configure:4534: ./a.out || ./b.out || ./a.exe || ./a_out.exe || ./
conftest
configure:4537: $? = 0
Test compile: mpn_lshift_com optimization
configure:4617: gcc conftest.c >&5
configure:4620: $? = 0
configure:4625: ./a.out || ./b.out || ./a.exe || ./a_out.exe || ./
conftest
configure:4628: $? = 0
Test compile: mpn_lshift_com optimization 2
configure:4717: gcc conftest.c >&5
configure:4720: $? = 0
configure:4725: ./a.out || ./b.out || ./a.exe || ./a_out.exe || ./
conftest
configure:4728: $? = 0
configure:4874: result: yes
configure: testlist sizeof-long-4
configure:5049: checking compiler gcc has sizeof(long)==4
configure:5062: gcc -c conftest.c >&5
conftest.c: In function 'main':
conftest.c:4: error: size of array 'test_array' is negative
configure:5065: $? = 1
configure:5070: result: no
configure:3772: icc -c conftest.c >&5
/Users/michael/Devel/ndkbuild2/build-dir/temp-src/gmp-4.2.2/configure:
line 3773: icc: command not found
configure:3775: $? = 127
configure:3794: icc 2>&1 | grep xlc >/dev/null
configure:3797: $? = 1
configure:3851: checking compiler icc
Test compile:
configure:3865: icc conftest.c >&5
/Users/michael/Devel/ndkbuild2/build-dir/temp-src/gmp-4.2.2/configure:
line 3866: icc: command not found
configure:3868: $? = 127
failed program was:

int main () { return 0; }
configure:4874: result: no
configure:3772: cc -c conftest.c >&5
configure:3775: $? = 0
configure:3778: checking whether cc is gcc
configure:3780: result: yes
configure:3794: cc 2>&1 | grep xlc >/dev/null
configure:3797: $? = 1
configure:3851: checking compiler cc
Test compile:
configure:3865: cc conftest.c >&5
configure:3868: $? = 0
configure:3873: ./a.out || ./b.out || ./a.exe || ./a_out.exe || ./
conftest
configure:3876: $? = 0
Test compile: function pointer return
configure:3919: cc conftest.c >&5
configure:3922: $? = 0
configure:3927: ./a.out || ./b.out || ./a.exe || ./a_out.exe || ./
conftest
configure:3930: $? = 0
Test compile: cmov instruction
configure:3975: cc conftest.c >&5
configure:3978: $? = 0
configure:3983: ./a.out || ./b.out || ./a.exe || ./a_out.exe || ./
conftest
configure:3986: $? = 0
Test compile: double -> ulong conversion
configure:4032: cc conftest.c >&5
configure:4035: $? = 0
configure:4040: ./a.out || ./b.out || ./a.exe || ./a_out.exe || ./
conftest
configure:4043: $? = 0
Test compile: double negation
configure:4087: cc conftest.c >&5
configure:4090: $? = 0
configure:4095: ./a.out || ./b.out || ./a.exe || ./a_out.exe || ./
conftest
configure:4098: $? = 0
Test compile: double -> float conversion
configure:4143: cc conftest.c >&5
configure:4146: $? = 0
configure:4151: ./a.out || ./b.out || ./a.exe || ./a_out.exe || ./
conftest
configure:4154: $? = 0
Test compile: gnupro alpha ev6 char spilling
configure:4227: cc conftest.c >&5
conftest.c: In function 'param_init':
conftest.c:18: warning: incompatible implicit declaration of built-in
function 'memcpy'
configure:4230: $? = 0
configure:4235: ./a.out || ./b.out || ./a.exe || ./a_out.exe || ./
conftest
configure:4238: $? = 0
Test compile: __builtin_alloca availability
configure:4278: cc conftest.c >&5
Undefined symbols:
"_main", referenced from:
start in crt1.10.6.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
configure:4281: $? = 1
failed program was:
int k; int foo () { __builtin_alloca (k); }
Test compile: abs int -> double conversion
configure:4402: cc conftest.c >&5
configure:4405: $? = 0
configure:4410: ./a.out || ./b.out || ./a.exe || ./a_out.exe || ./
conftest
configure:4413: $? = 0
Test compile: long long reliability test 1
configure:4466: cc conftest.c >&5
configure:4469: $? = 0
configure:4474: ./a.out || ./b.out || ./a.exe || ./a_out.exe || ./
conftest
configure:4477: $? = 0
Test compile: long long reliability test 2
configure:4526: cc conftest.c >&5
configure:4529: $? = 0
configure:4534: ./a.out || ./b.out || ./a.exe || ./a_out.exe || ./
conftest
configure:4537: $? = 0
Test compile: mpn_lshift_com optimization
configure:4617: cc conftest.c >&5
configure:4620: $? = 0
configure:4625: ./a.out || ./b.out || ./a.exe || ./a_out.exe || ./
conftest
configure:4628: $? = 0
Test compile: mpn_lshift_com optimization 2
configure:4717: cc conftest.c >&5
configure:4720: $? = 0
configure:4725: ./a.out || ./b.out || ./a.exe || ./a_out.exe || ./
conftest
configure:4728: $? = 0
configure:4874: result: yes
configure: testlist sizeof-long-4
configure:5049: checking compiler cc has sizeof(long)==4
configure:5062: cc -c conftest.c >&5
conftest.c: In function 'main':
conftest.c:4: error: size of array 'test_array' is negative
configure:5065: $? = 1
configure:5070: result: no
configure:5112: error: could not find a working compiler, see
config.log for details

## ---------------- ##
## Cache variables. ##
## ---------------- ##

ac_cv_build=i386-apple-darwin10.4.0
ac_cv_build_alias=i386-apple-darwin10.4.0
ac_cv_env_ABI_set=set
ac_cv_env_ABI_value=32
ac_cv_env_CC_FOR_BUILD_set=
ac_cv_env_CC_FOR_BUILD_value=
ac_cv_env_CC_set=
ac_cv_env_CC_value=
ac_cv_env_CFLAGS_set=set
ac_cv_env_CFLAGS_value=
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CPP_FOR_BUILD_set=
ac_cv_env_CPP_FOR_BUILD_value=
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_CXXCPP_set=
ac_cv_env_CXXCPP_value=
ac_cv_env_CXXFLAGS_set=
ac_cv_env_CXXFLAGS_value=
ac_cv_env_CXX_set=
ac_cv_env_CXX_value=
ac_cv_env_LDFLAGS_set=set
ac_cv_env_LDFLAGS_value=
ac_cv_env_M4_set=
ac_cv_env_M4_value=
ac_cv_env_build_alias_set=set
ac_cv_env_build_alias_value=i386-apple-darwin10.4.0
ac_cv_env_host_alias_set=set
ac_cv_env_host_alias_value=i386-apple-darwin10.4.0
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_host=i386-apple-darwin10.4.0
ac_cv_host_alias=i386-apple-darwin10.4.0
ac_cv_path_install='/opt/local/bin/ginstall -c'
ac_cv_prog_AWK=gawk
ac_cv_prog_make_make_set=yes

## ----------------- ##
## Output variables. ##
## ----------------- ##

ABI='32'
ACLOCAL='${SHELL} /Users/michael/Devel/ndkbuild2/build-dir/temp-src/
gmp-4.2.2/missing --run aclocal-1.8'
AMTAR='${SHELL} /Users/michael/Devel/ndkbuild2/build-dir/temp-src/
gmp-4.2.2/missing --run tar'
ANSI2KNR=''
AR=''
AS=''
AUTOCONF='${SHELL} /Users/michael/Devel/ndkbuild2/build-dir/temp-src/
gmp-4.2.2/missing --run autoconf'
AUTOHEADER='${SHELL} /Users/michael/Devel/ndkbuild2/build-dir/temp-src/
gmp-4.2.2/missing --run autoheader'
AUTOMAKE='${SHELL} /Users/michael/Devel/ndkbuild2/build-dir/temp-src/
gmp-4.2.2/missing --run automake-1.8'
AWK='gawk'
BITS_PER_MP_LIMB=''
CALLING_CONVENTIONS_OBJS='x86call.lo x86check$U.lo'
CC=''
CCAS=''
CC_FOR_BUILD=''
CFLAGS=''
CPP=''
CPPFLAGS=''
CPP_FOR_BUILD=''
CXX=''
CXXCPP=''
CXXFLAGS=''
CYGPATH_W='echo'
DEFN_LONG_LONG_LIMB=''
DEFS=''
DLLTOOL=''
ECHO='echo'
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP=''
ENABLE_STATIC_FALSE=''
ENABLE_STATIC_TRUE=''
EXEEXT=''
EXEEXT_FOR_BUILD=''
GMP_LDFLAGS=''
GMP_NAIL_BITS='0'
HAVE_CLOCK_01=''
HAVE_CPUTIME_01=''
HAVE_GETRUSAGE_01=''
HAVE_GETTIMEOFDAY_01=''
HAVE_HOST_CPU_FAMILY_power='0'
HAVE_HOST_CPU_FAMILY_powerpc='0'
HAVE_SIGACTION_01=''
HAVE_SIGALTSTACK_01=''
HAVE_SIGSTACK_01=''
HAVE_STACK_T_01=''
HAVE_SYS_RESOURCE_H_01=''
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_STRIP_PROGRAM='${SHELL} $(install_sh) -c -s'
LDFLAGS=''
LEX=''
LEXLIB=''
LEX_OUTPUT_ROOT=''
LIBCURSES=''
LIBGMPXX_LDFLAGS=''
LIBGMP_DLL=''
LIBGMP_LDFLAGS=''
LIBM=''
LIBM_FOR_BUILD=''
LIBOBJS=''
LIBREADLINE=''
LIBS=''
LIBTOOL=''
LN_S=''
LTLIBOBJS=''
M4=''
MAINT='#'
MAINTAINER_MODE_FALSE=''
MAINTAINER_MODE_TRUE='#'
MAKEINFO='${SHELL} /Users/michael/Devel/ndkbuild2/build-dir/temp-src/
gmp-4.2.2/missing --run makeinfo'
OBJDUMP=''
OBJEXT=''
PACKAGE='gmp'
PACKAGE_BUGREPORT='gmp-...@swox.com'
PACKAGE_NAME='GNU MP'
PACKAGE_STRING='GNU MP 4.2.2'
PACKAGE_TARNAME='gmp'
PACKAGE_VERSION='4.2.2'
PATH_SEPARATOR=':'
RANLIB=''
SED=''
SET_MAKE=''
SHELL='/bin/sh'
SPEED_CYCLECOUNTER_OBJ='pentium.lo'
STRIP=''
TAL_OBJECT=''
TUNE_SQR_OBJ=''
U=''
U_FOR_BUILD=''
VERSION='4.2.2'
WANT_CXX_FALSE=''
WANT_CXX_TRUE=''
WANT_MPBSD_FALSE=''
WANT_MPBSD_TRUE='#'
WITH_READLINE_01=''
YACC=''
ac_ct_AR=''
ac_ct_AS=''
ac_ct_CC=''
ac_ct_CXX=''
ac_ct_DLLTOOL=''
ac_ct_OBJDUMP=''
ac_ct_RANLIB=''
ac_ct_STRIP=''
am__leading_dot='.'
bindir='${exec_prefix}/bin'
build='i386-apple-darwin10.4.0'
build_alias='i386-apple-darwin10.4.0'
build_cpu='i386'
build_os='darwin10.4.0'
build_vendor='apple'
datadir='${prefix}/share'
exec_prefix='NONE'
gmp_srclinks=''
host='i386-apple-darwin10.4.0'
host_alias='i386-apple-darwin10.4.0'
host_cpu='i386'
host_os='darwin10.4.0'
host_vendor='apple'
includedir='${prefix}/include'
infodir='${prefix}/info'
install_sh='/Users/michael/Devel/ndkbuild2/build-dir/temp-src/
gmp-4.2.2/install-sh'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localstatedir='${prefix}/var'
mandir='${prefix}/man'
mkdir_p='$(install_sh) -d'
mpn_objects=''
mpn_objs_in_libgmp=''
mpn_objs_in_libmp=''
oldincludedir='/usr/include'
prefix='/Users/michael/Devel/ndkbuild2/build-dir/temp-install'
program_transform_name='s&^&arm-eabi-&'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target_alias=''

## ----------- ##
## confdefs.h. ##
## ----------- ##

#define HAVE_HOST_CPU_i386 1
#define PACKAGE "gmp"
#define PACKAGE_BUGREPORT "gmp-...@swox.com"
#define PACKAGE_NAME "GNU MP"
#define PACKAGE_STRING "GNU MP 4.2.2"
#define PACKAGE_TARNAME "gmp"
#define PACKAGE_VERSION "4.2.2"
#define VERSION "4.2.2"
#define WANT_FFT 1

configure: exit 1

Dmitry Moskalchuk

unread,
Dec 1, 2010, 3:53:24 PM12/1/10
to andro...@googlegroups.com
Hi Michael,

Actually when you call download-toolchain-sources.sh script it download
the latest sources which are out of sync with latest NDK release. To
download related to NDK sources, you should modify this script; in fact
this is one of many other things I did in my patch
(android-ndk-r4-crystax-4.diff). Looking to the your final goal I
suggest you not spend time on manual modifying these scripts but
strictly follow instructions on my site and then apply patch which I did
specifically for Snow Leopard: http://www.crystax.net/trac/ticket/19.
Most likely it will resolve your problem. If not, feel free contact me
either by e-mail or creating ticket.

Hope it'll help.


Dmitry Moskalchuk

Michael

unread,
Dec 2, 2010, 6:33:26 AM12/2/10
to android-ndk
Hi Dmitry,

thanks for your prompt response. I had been trying to build the
toolchain sources by directly using your patched NDK before. When that
didn't work I started backtracking from there and tried building an
unpatched NDK according to the official documentation
(DEVELOPMENT.txt), which also led me to the error described above. No
matter whether I use the latest sources or the ones specified by your
instructions (--for-date=2010-07-15), the unpatched NDK sources won't
build.

Now, using your instructions (*), I have additionally applied the
patch you mentioned, but it doesn't change the outcome.
The error is still exactly the same. Any idea what might cause it or
how to fix this?
(I'm quite certain it is Mac-related, as I have been able to build the
(patched or unpatched) toolchain on Ubuntu. But, alas, that's not what
I need.)

Cheers,
Michael

(*) The only difference is that I don't package up the sources but
specify --toolchain-src-dir in the appropriate places, and I also
specify a designated build directory. Since the patches are only
applied to freshly unpacked sources (in rebuild-all-prebuilt.sh), I
apply the patch script (patch-sources.sh) manually, using appropriate
paths. That said, I'd pretty much rule out those changes as cause of
the issue - they just make my life easier.
> ...
>
> read more »

shotwave

unread,
Dec 6, 2010, 10:10:20 AM12/6/10
to android-ndk
I have exactly the same problem with Mac
> ...
>
> read more »

shotwave

unread,
Dec 6, 2010, 2:35:22 PM12/6/10
to android-ndk
PS I have snow leopard
and I follow all the instruction literally.
Is there any help I can provide you with wrt this issue?
> ...
>
> read more »

Michael

unread,
Dec 7, 2010, 5:34:04 AM12/7/10
to android-ndk
Please let me know if you make any progress w.r.t. to this issue.

I have now verified that exactly the same problem persists when
attempting to rebuild the toolchains included in the newly released
NDK r5 (completely unmodified).
The error now affects building of both toolchains, arm-eabi-4.4.0 and
arm-linux-androideabi-4.4.3. (Before, I could build arm-eabi-4.2.1.)
As mentioned before, I am using Snow Leopoard. Switching to a newer
compiler version using gcc_select does not change anything.

Is there anyone else who can reproduce this issue and give hints on
how to fix this?
How were the official Mac OS X binaries built?

[Just as background information, my goal in the end is to incorporate
this patch into the toolchain:
http://www.pubbs.net/200911/gcc/3874-neon-float32t-type.html
to make my program use the Eigen linear algebra library with ARM NEON
support (see http://forum.kde.org/viewtopic.php?f=74&t=91183).]

Cheers,

Michael
> ...
>
> read more »

David Turner

unread,
Dec 7, 2010, 8:48:04 AM12/7/10
to andro...@googlegroups.com
On Tue, Dec 7, 2010 at 11:34 AM, Michael <kmho...@gmail.com> wrote:
How were the official Mac OS X binaries built?

 
All I can say is that they were built on a Leopard machine with the scripts provided with the NDK (build-gcc.sh, etc...)

> ...
>
> read more »

--
You received this message because you are subscribed to the Google Groups "android-ndk" group.
To post to this group, send email to andro...@googlegroups.com.
To unsubscribe from this group, send email to android-ndk...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/android-ndk?hl=en.


David Turner

unread,
Dec 7, 2010, 9:21:53 AM12/7/10
to andro...@googlegroups.com
The following check in the configure output seems really wrong:

checking compiler gcc  has sizeof(long)==4... no

Which version of gcc are you using exactly? Does it generate 32 or 64-bit binaries?

David Turner

unread,
Dec 7, 2010, 9:26:06 AM12/7/10
to andro...@googlegroups.com
I suspect the problem on Snow Leopard is related to its 64-bit nature. A few weeks before the r5 release, I made a change to "prepare_host_flags" in build/tools/prebuilt-common.sh.
The code now looks like:

    # Force generation of 32-bit binaries on 64-bit systems
    CC=${CC:-gcc}
    CXX=${CXX:-g++}
    case $HOST_TAG in
        darwin-*)
            # Try to build with Tiger SDK if available
            if check_darwin_sdk /Developer/SDKs/MacOSX10.4.sdku 10.4; then
                log "Generating Tiger-compatible binaries!"
            # Otherwise with Leopard SDK
            elif check_darwin_sdk /Developer/SDKs/MacOSX10.5.sdk 10.5; then
                log "Generating Leopard-compatible binaries!"
            else
                local version=`sw_vers -productVersion`
                log "Generating $version-compatible binaries!"
            fi
            ;;
        *-x86_64)
            # NOTE: We need to modify the definitions of CC and CXX directly
            #        here. Just changing the value of CFLAGS / HOST_CFLAGS
            #        will not work well with the GCC toolchain scripts.
            CC="$CC -m32"
            CXX="$CXX -m32"
            HOST_GMP_ABI="32"
            force_32bit_binaries  # to modify HOST_TAG and others
            ;;
    esac

Before that, only the *-x86_64 portion was used. I suspect that if the code is changed to the following, this might solve your problem:

    CC=${CC:-gcc}
    CXX=${CXX:-g++}
    # Probe system for backwards-compatibility SDKs on OS X
    case $HOST_TAG in
        darwin-*)
            # Try to build with Tiger SDK if available
            if check_darwin_sdk /Developer/SDKs/MacOSX10.4.sdku 10.4; then
                log "Generating Tiger-compatible binaries!"
            # Otherwise with Leopard SDK
            elif check_darwin_sdk /Developer/SDKs/MacOSX10.5.sdk 10.5; then
                log "Generating Leopard-compatible binaries!"
            else
                local version=`sw_vers -productVersion`
                log "Generating $version-compatible binaries!"
            fi
            ;;
    esac

    # Force generation of 32-bit binaries on 64-bit systems
    case $HOST_TAG in
        *-x86_64)
            # NOTE: We need to modify the definitions of CC and CXX directly
            #        here. Just changing the value of CFLAGS / HOST_CFLAGS
            #        will not work well with the GCC toolchain scripts.
            CC="$CC -m32"
            CXX="$CXX -m32"
            HOST_GMP_ABI="32"
            force_32bit_binaries  # to modify HOST_TAG and others
            ;;
    esac

Can you try the modifying the script accordingly and report if this solves the issue?
I don't have access to a Snow Leopard machine at the moment.

On Tue, Dec 7, 2010 at 11:34 AM, Michael <kmho...@gmail.com> wrote:
> ...
>
> read more »

shotwave

unread,
Dec 7, 2010, 9:43:57 PM12/7/10
to android-ndk
David, on my mac gcc version is 4.2.1:

$ gcc --version
i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5664)
Copyright (C) 2007 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.

new macs are 64-bit bit, so I assume that gcc creates 64-bit binaries
On Dec 7, 9:21 am, David Turner <di...@android.com> wrote:
> The following check in the configure output seems really wrong:
>
> checking compiler gcc  has sizeof(long)==4... no
>
> Which version of gcc are you using exactly? Does it generate 32 or 64-bit
> binaries?
>
> ...
>
> read more »

shotwave

unread,
Dec 7, 2010, 10:23:59 PM12/7/10
to android-ndk
I tried to update the prebuilt-common.ch and here is the warnings I
have got

$ ./build/tools/rebuild-all-prebuilt.sh --verbose --package --
toolchain-src-pkg=/tmp/android-ndk-toolchain-myrelease.tar.bz2
./build/tools/prebuilt-common.sh: line 365: check_darwin_sdk: command
not found
./build/tools/prebuilt-common.sh: line 368: check_darwin_sdk: command
not found
Using default target NDK directory: /tmp/ndk-prebuilt-958
Using default build directory: /tmp/ndk-toolchain-fXJQSL
Using default gdb version: 6.6
Unpack sources from /tmp/android-ndk-toolchain-myrelease.tar.bz2

however after this the build was running successfully (I assume
because I have snow leopard, so I was looking for the default branch
anyways) up to the point when I have got this:

Building : arm-eabi-4.4.0 toolchain [this can take a long time].
##### NEW COMMAND
make -j2
([ -d binutils-2.19 ] || \
mkdir binutils-2.19) && \
(cd binutils-2.19 ; \
/tmp/ndk-toolchain-fXJQSL/src/build/../binutils/binutils-2.19/
configure \
--prefix=/tmp/ndk-prebuilt-958/build/prebuilt/darwin-x86/arm-
eabi-4.4.0 --target=arm-eabi --host=i386-apple-darwin10.5.0 --
build=i386-apple-darwin10.5.0 '--disable-nls' '--prefix=/tmp/ndk-
prebuilt-958/build/prebuilt/darwin-x86/arm-eabi-4.4.0' '--with-
sysroot=/Users/sh/Projects/android-ndk-r4b-crystax/build/platforms/
android-3/arch-arm' '--enable-libstdc__-v3' '--enable-threads=posix'
'--with-binutils-version=2.19' '--with-gcc-version=4.4.0' '--disable-
werror' '--with-gdb-version=6.6' --program-transform-name='s&^&arm-
eabi-&' --disable-shared) && \
touch stmp-config-target-binutils
([ -d gmp-4.2.2 ] || \
mkdir gmp-4.2.2) && \
(cd gmp-4.2.2 ; \
/tmp/ndk-toolchain-fXJQSL/toolchain-arm-eabi-4.4.0/temp-src/
gmp-4.2.2/configure \
'--disable-nls' '--prefix=/tmp/ndk-prebuilt-958/build/prebuilt/
darwin-x86/arm-eabi-4.4.0' '--with-sysroot=/Users/sh/Projects/android-
ndk-r4b-crystax/build/platforms/android-3/arch-arm' '--enable-
libstdc__-v3' '--enable-threads=posix' '--with-binutils-version=2.19'
'--with-gcc-version=4.4.0' '--disable-werror' '--with-gdb-version=6.6'
--program-transform-name='s&^&arm-eabi-&' --prefix=/tmp/ndk-toolchain-
fXJQSL/toolchain-arm-eabi-4.4.0/temp-install --disable-shared --
host=i386-apple-darwin10.5.0 --build=i386-apple-darwin10.5.0) && \
touch stmp-config-host-gmp
checking build system type... i386-apple-darwin10.5.0
checking host system type... i386-apple-darwin10.5.0
checking target system type... arm-unknown-eabi
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln works... yes
checking whether ln -s works... yes
checking for i386-apple-darwin10.5.0-gcc... checking build system
type... no
checking for gcc... gcc
i386-apple-darwin10.5.0
checking host system type... checking for C compiler default output
file name... i386-apple-darwin10.5.0
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for i386-apple-darwin10.5.0-g++... no
checking for i386-apple-darwin10.5.0-c++... no
checking for i386-apple-darwin10.5.0-gpp... no
checking for i386-apple-darwin10.5.0-aCC... no
checking for i386-apple-darwin10.5.0-CC... no
checking for i386-apple-darwin10.5.0-cxx... no
checking for i386-apple-darwin10.5.0-cc++... no
checking for i386-apple-darwin10.5.0-cl... no
checking for i386-apple-darwin10.5.0-FCC... no
checking for i386-apple-darwin10.5.0-KCC... no
checking for i386-apple-darwin10.5.0-RCC... no
checking for i386-apple-darwin10.5.0-xlC_r... no
checking for i386-apple-darwin10.5.0-xlC... no
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
yes
checking whether to enable maintainer-specific portions of
Makefiles... no
checking ABI=32
checking compiler gcc ... checking for i386-apple-darwin10.5.0-
gnatbind... no
checking for gnatbind... no
checking for i386-apple-darwin10.5.0-gnatmake... no
checking for gnatmake... no
checking whether compiler driver understands Ada... no
checking how to compare bootstrapped objects... cmp --ignore-
initial=16 $$f1 $$f2
yes
checking compiler gcc has sizeof(long)==4... no
checking compiler icc ... no
checking whether cc is gcc... yes
checking compiler cc ... yes
checking compiler cc has sizeof(long)==4... no
configure: error: could not find a working compiler, see config.log
for details
make: *** [stmp-config-host-gmp] Error 1
make: *** Waiting for unfinished jobs....
checking for bison... bison -y
checking for bison... bison
checking for gm4... gm4
checking for flex... flex
checking for flex... flex
checking for makeinfo... makeinfo
checking for expect... expect
checking for runtest... no
checking for i386-apple-darwin10.5.0-ar... no
checking for ar... ar
checking for i386-apple-darwin10.5.0-as... no
checking for as... as
checking for i386-apple-darwin10.5.0-dlltool... no
checking for dlltool... no
checking for ld... (cached) /usr/libexec/gcc/i686-apple-darwin10/4.2.1/
ld
checking for i386-apple-darwin10.5.0-ld... (cached) /usr/libexec/gcc/
i686-apple-darwin10/4.2.1/ld
checking for i386-apple-darwin10.5.0-lipo... no
checking for lipo... lipo
checking for i386-apple-darwin10.5.0-nm... no
checking for nm... nm
checking for i386-apple-darwin10.5.0-ranlib... no
checking for ranlib... ranlib
checking for i386-apple-darwin10.5.0-strip... no
checking for strip... strip
checking for i386-apple-darwin10.5.0-windres... no
checking for windres... no
checking for i386-apple-darwin10.5.0-windmc... no
checking for windmc... no
checking for i386-apple-darwin10.5.0-objcopy... no
checking for objcopy... no
checking for i386-apple-darwin10.5.0-objdump... no
checking for objdump... no
checking for arm-eabi-cc... no
checking for arm-eabi-gcc... no
checking for arm-eabi-c++... no
checking for arm-eabi-g++... no
checking for arm-eabi-cxx... no
checking for arm-eabi-gxx... no
checking for arm-eabi-gcc... no
checking for arm-eabi-gcj... no
checking for arm-eabi-gfortran... no
checking for arm-eabi-ar... no
checking for arm-eabi-as... no
checking for arm-eabi-dlltool... no
checking for arm-eabi-ld... no
checking for arm-eabi-lipo... no
checking for arm-eabi-nm... no
checking for arm-eabi-objdump... no
checking for arm-eabi-ranlib... no
checking for arm-eabi-strip... no
checking for arm-eabi-windres... no
checking for arm-eabi-windmc... no
checking where to find the target ar... just compiled
checking where to find the target as... just compiled
checking where to find the target cc... pre-installed
checking where to find the target c++... pre-installed
checking where to find the target c++ for libstdc++... pre-installed
checking where to find the target dlltool... just compiled
checking where to find the target gcc... pre-installed
checking where to find the target gcj... pre-installed
checking where to find the target gfortran... pre-installed
checking where to find the target ld... just compiled
checking where to find the target lipo... pre-installed
checking where to find the target nm... just compiled
checking where to find the target objdump... just compiled
checking where to find the target ranlib... just compiled
checking where to find the target strip... just compiled
checking where to find the target windres... just compiled
checking where to find the target windmc... just compiled
checking whether to enable maintainer-specific portions of
Makefiles... no
checking whether -fkeep-inline-functions is supported... yes
configure: creating ./config.status
config.status: creating Makefile
Error while building toolchain. See
ERROR: Could not build arm-eabi-4.4.0 toolchain!

thank you for your help!

PS as Michael noticed in his message without fixing the script build-
gcc.sh with replacing

$BUILD_SRCDIR/configure --target=$ABI_TOOLCHAIN_PREFIX \
--disable-nls \
--prefix=$TOOLCHAIN_PATH \
--with-sysroot=$SYSROOT \
--enable-libstdc__-v3 \
--enable-threads=posix \
--with-binutils-version=$BINUTILS_VERSION \
--with-gcc-version=$GCC_VERSION \
--with-gdb-version=$GDB_VERSION

with

$BUILD_SRCDIR/configure --target=$ABI_TOOLCHAIN_PREFIX \
--disable-nls \
--prefix=$TOOLCHAIN_PATH \
--with-sysroot=$SYSROOT \
--enable-libstdc__-v3 \
--enable-threads=posix \
--with-binutils-version=$BINUTILS_VERSION \
--with-gcc-version=$GCC_VERSION \
--disable-werror \
--with-gdb-version=$GDB_VERSION

the build will fail almost immediately. can this change be added to
the crystax patch?
> ...
>
> read more »

Michael

unread,
Dec 8, 2010, 3:34:13 AM12/8/10
to android-ndk
It seems that I got the toolchain for the NDK, release 4b (unmodified)
to build successfully. David, thanks for your helpful pointers.
Your proposed code change didn't work out of the box. Note that on my
machine (Snow Leopard booting 32-bit kernel), uname gives the
following output:
> uname -s
Darwin
> uname -m
i386
GCC however seems to build 64-bit binaries. So if I enable execution
of this block:
CC="$CC -m32"
CXX="$CXX -m32"
HOST_GMP_ABI="32"
force_32bit_binaries # to modify HOST_TAG and others
the build goes past the configure script mentioned above and finishes
with a 'Done!' message.
Still have to verify if I can build the Crystax version, too.

That all said, I have encountered new problems when trying to build
the new release 5 (some duplicate symbol issues). I will try to have a
closer look at them today and start a new thread if necessary.

Michael
> ...
>
> read more »

David Turner

unread,
Dec 8, 2010, 8:01:11 AM12/8/10
to andro...@googlegroups.com
On Wed, Dec 8, 2010 at 9:34 AM, Michael <kmho...@gmail.com> wrote:
It seems that I got the toolchain for the NDK, release 4b (unmodified)
to build successfully. David, thanks for your helpful pointers.
Your proposed code change didn't work out of the box. Note that on my
machine (Snow Leopard booting 32-bit kernel), uname gives the
following output:
> uname -s
Darwin
> uname -m
i386
GCC however seems to build 64-bit binaries. So if I enable execution
of this block:
 CC="$CC -m32"
 CXX="$CXX -m32"
 HOST_GMP_ABI="32"
 force_32bit_binaries  # to modify HOST_TAG and others
the build goes past the configure script mentioned above and finishes
with a 'Done!' message.
Still have to verify if I can build the Crystax version, too.

Ah, that's interesting and explains a lot of things. So the kernel is 32-bit, so "uname" will report darwin-x86 as the host platform, but the default compiler generates 64-bit machine code by default.
That would explain why my proposed fix doesn't work (it would only for darwin-x86_64).

Can you give me the output of "gcc -v" here? That would help make the auto-detection logic better.
 
> ...
>
> read more »

Michael

unread,
Dec 8, 2010, 8:09:33 AM12/8/10
to android-ndk
> gcc -v
Using built-in specs.
Target: i686-apple-darwin10
Configured with: /var/tmp/gcc/gcc-5664~105/src/configure --disable-
checking --enable-werror --prefix=/usr --mandir=/share/man --enable-
languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/
$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin10 --program-
prefix=i686-apple-darwin10- --host=x86_64-apple-darwin10 --target=i686-
apple-darwin10 --with-gxx-include-dir=/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Apple Inc. build 5664)


On Dec 8, 2:01 pm, David Turner <di...@android.com> wrote:
> ...
>
> read more »

David Turner

unread,
Dec 8, 2010, 9:08:19 AM12/8/10
to andro...@googlegroups.com
On Wed, Dec 8, 2010 at 2:09 PM, Michael <kmho...@gmail.com> wrote:
> gcc -v
Using built-in specs.
Target: i686-apple-darwin10
Configured with: /var/tmp/gcc/gcc-5664~105/src/configure --disable-
checking --enable-werror --prefix=/usr --mandir=/share/man --enable-
languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/
$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin10 --program-
prefix=i686-apple-darwin10- --host=x86_64-apple-darwin10 --target=i686-
apple-darwin10 --with-gxx-include-dir=/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Apple Inc. build 5664)


Hmm, this makes no sense. This indicates that the compiler is a 64-bit program (--host=x86_64...) but generates 32-bit machine code (--target=i686-...)
Are you sure this compiler generates 64-bit code by default? 
> ...
>
> read more »

İsmail Dönmez

unread,
Dec 8, 2010, 9:11:25 AM12/8/10
to andro...@googlegroups.com
Hi;

On Wed, Dec 8, 2010 at 4:08 PM, David Turner <di...@android.com> wrote:
>
>
> On Wed, Dec 8, 2010 at 2:09 PM, Michael <kmho...@gmail.com> wrote:
>>
>> > gcc -v
>> Using built-in specs.
>> Target: i686-apple-darwin10
>> Configured with: /var/tmp/gcc/gcc-5664~105/src/configure --disable-
>> checking --enable-werror --prefix=/usr --mandir=/share/man --enable-
>> languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/
>> $/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin10 --program-
>> prefix=i686-apple-darwin10- --host=x86_64-apple-darwin10 --target=i686-
>> apple-darwin10 --with-gxx-include-dir=/include/c++/4.2.1
>> Thread model: posix
>> gcc version 4.2.1 (Apple Inc. build 5664)
>>
>>
> Hmm, this makes no sense. This indicates that the compiler is a 64-bit program (--host=x86_64...) but generates 32-bit machine code (--target=i686-...)
> Are you sure this compiler generates 64-bit code by default?

I can (also) confirm on Snow Leopard that the same compiler produces
64bit binaries by default.

Regards,
ismail

David Turner

unread,
Dec 8, 2010, 9:48:04 AM12/8/10
to andro...@googlegroups.com
Hmm, I can only assume that something else affects the default output of the program (e.g. linker scripts).
In other words, we will have to perform probing by compiling a small test program to check the result.
 
Thanks for the input, I'll prepare a patch.

Regards,
ismail

David Turner

unread,
Dec 8, 2010, 10:12:48 AM12/8/10
to andro...@googlegroups.com
Ok, can someone tell me if the following patch fixes the issue for them on OS X?

Apply it with:

cd $NDK
patch -p1 < /path/to/patch/file

Thanks in advance
0001-prebuilt-common.sh-Better-64-bit-compiler-detection.patch

shotwave

unread,
Dec 8, 2010, 10:42:06 AM12/8/10
to android-ndk
oyster:android-ndk-r4b sh$ patch -p1 <~/Projects/0001-prebuilt-
common.sh-Better-64-bit-compiler-detection.patch
patching file build/tools/prebuilt-common.sh
Hunk #1 FAILED at 475.
1 out of 1 hunk FAILED -- saving rejects to file build/tools/prebuilt-
common.sh.rej


On Dec 8, 10:12 am, David Turner <di...@android.com> wrote:
> Ok, can someone tell me if the following patch fixes the issue for them on
> OS X?
>
> Apply it with:
>
> cd $NDK
> patch -p1 < /path/to/patch/file
>
> Thanks in advance
>
> On Wed, Dec 8, 2010 at 3:48 PM, David Turner <di...@android.com> wrote:
>
> > On Wed, Dec 8, 2010 at 3:11 PM, İsmail Dönmez <ism...@namtrac.org> wrote:
>
> >> Hi;
>
> >> On Wed, Dec 8, 2010 at 4:08 PM, David Turner <di...@android.com> wrote:
>
> >> android-ndk...@googlegroups.com<android-ndk%2Bunsu...@googlegroups.com>
> >> .
> >> For more options, visit this group at
> >>http://groups.google.com/group/android-ndk?hl=en.
>
>
>
>  0001-prebuilt-common.sh-Better-64-bit-compiler-detection.patch
> 3KViewDownload

shotwave

unread,
Dec 8, 2010, 10:42:36 AM12/8/10
to android-ndk
oyster:android-ndk-r4b sh$ cat build/tools/prebuilt-common.sh.rej
***************
*** 475,491 ****
log "Generating $version-compatible binaries!"
fi
;;
- *-x86_64)
- # NOTE: We need to modify the definitions of CC and CXX
directly
- # here. Just changing the value of CFLAGS /
HOST_CFLAGS
- # will not work well with the GCC toolchain
scripts.
- CC="$CC -m32"
- CXX="$CXX -m32"
- HOST_GMP_ABI="32"
- force_32bit_binaries # to modify HOST_TAG and others
- ;;
esac

# Now handle the --mingw flag
if [ "$MINGW" = "yes" ] ; then
case $HOST_TAG in
--- 475,513 ----
log "Generating $version-compatible binaries!"
fi
;;
esac

+ # Force generation of 32-bit binaries on 64-bit systems.
+ # We used to test the value of $HOST_TAG for *-x86_64, but this
is
+ # not sufficient on certain systems.
+ #
+ # For example, Snow Leopard can be booted with a 32-bit kernel,
running
+ # a 64-bit userland, with a compiler that generates 64-bit
binaries by
+ # default *even* though "gcc -v" will report --target=i686-apple-
darwin10!
+ #
+ # So know, simply probe for the size of void* by performing a
small runtime
+ # compilation test.
+ #
+ cat > $TMPC <<EOF
+ /* this test should fail if the compiler generates 64-bit
machine code */
+ int test_array[1-2*(sizeof(void*) != 4)];
+ EOF
+ echo -n "Checking whether the compiler generates 32-bit
binaries..."
+ log $CC $HOST_CFLAGS -c -o $TMPO $TMPC
+ $CC $HOST_CFLAGS -c -o $TMPO $TMPC >$TMPL 2>&1
+ if [ $? != 0 ] ; then
+ echo "no"
+ # NOTE: We need to modify the definitions of CC and CXX
directly
+ # here. Just changing the value of CFLAGS /
HOST_CFLAGS
+ # will not work well with the GCC toolchain scripts.
+ CC="$CC -m32"
+ CXX="$CXX -m32"
+ HOST_GMP_ABI="32"
+ force_32bit_binaries # to modify HOST_TAG and others
+ else
+ echo "yes"
+ fi
+
# Now handle the --mingw flag
if [ "$MINGW" = "yes" ] ; then
case $HOST_TAG in


On Dec 8, 10:12 am, David Turner <di...@android.com> wrote:
> Ok, can someone tell me if the following patch fixes the issue for them on
> OS X?
>
> Apply it with:
>
> cd $NDK
> patch -p1 < /path/to/patch/file
>
> Thanks in advance
>
> On Wed, Dec 8, 2010 at 3:48 PM, David Turner <di...@android.com> wrote:
>
> > On Wed, Dec 8, 2010 at 3:11 PM, İsmail Dönmez <ism...@namtrac.org> wrote:
>
> >> Hi;
>
> >> On Wed, Dec 8, 2010 at 4:08 PM, David Turner <di...@android.com> wrote:
>
> >> android-ndk...@googlegroups.com<android-ndk%2Bunsu...@googlegroups.com>
> >> .
> >> For more options, visit this group at
> >>http://groups.google.com/group/android-ndk?hl=en.
>
>
>
>  0001-prebuilt-common.sh-Better-64-bit-compiler-detection.patch
> 3KViewDownload

David Turner

unread,
Dec 8, 2010, 10:50:42 AM12/8/10
to andro...@googlegroups.com
Sorry, the patch is only for r5, not r4 or r4b

To unsubscribe from this group, send email to android-ndk...@googlegroups.com.

shotwave

unread,
Dec 8, 2010, 12:02:31 PM12/8/10
to android-ndk
ld: duplicate symbol _insert_decl_map in libbackend.a(tree-inline.o)
and tree-inline.o
collect2: ld returned 1 exit status
make[3]: *** [cc1plus-dummy] Error 1
make[2]: *** [install-gcc] Error 2
make[1]: *** [install] Error 2
make: *** [install-target-gcc-gcc] Error 2
Error while installing toolchain. See /tmp/ndk-toolchain/build-8kZ9fX/
log.txt
ERROR: Could bot build arm-eabi-4.4.0 toolchain!


On Dec 8, 10:50 am, David Turner <di...@android.com> wrote:
> Sorry, the patch is only for r5, not r4 or r4b
>
> > <android-ndk%2Bunsu...@googlegroups.com<android-ndk%252Buns...@googlegroups.com>

shotwave

unread,
Dec 8, 2010, 12:03:36 PM12/8/10
to android-ndk
from log


Making install-info in po
make[6]: Nothing to be done for `install-info'.
test -z "/tmp/ndk-toolchain/ndk-prebuilt-2357/toolchains/arm-
eabi-4.4.0/prebuilt/darwin-x86/info" || /bin/sh /tmp/ndk-toolchain/
build-8kZ9fX/src/build/../binutils/binutils-2.19/ld/../mkinstalldirs "/
tmp/ndk-toolchain/ndk-prebuilt-2357/toolchains/arm-eabi-4.4.0/prebuilt/
darwin-x86/info"
/usr/bin/install -c -m 644 './ld.info' '/tmp/ndk-toolchain/ndk-
prebuilt-2357/toolchains/arm-eabi-4.4.0/prebuilt/darwin-x86/info/
ld.info'
install-info --info-dir='/tmp/ndk-toolchain/ndk-prebuilt-2357/
toolchains/arm-eabi-4.4.0/prebuilt/darwin-x86/info' '/tmp/ndk-
toolchain/ndk-prebuilt-2357/toolchains/arm-eabi-4.4.0/prebuilt/darwin-
x86/info/ld.info'
/bin/sh /tmp/ndk-toolchain/build-8kZ9fX/src/build/../binutils/
binutils-2.19/ld/../mkinstalldirs /tmp/ndk-toolchain/ndk-prebuilt-2357/
toolchains/arm-eabi-4.4.0/prebuilt/darwin-x86/arm-eabi/lib/ldscripts
mkdir /tmp/ndk-toolchain/ndk-prebuilt-2357/toolchains/arm-eabi-4.4.0/
prebuilt/darwin-x86/arm-eabi/lib
mkdir /tmp/ndk-toolchain/ndk-prebuilt-2357/toolchains/arm-eabi-4.4.0/
prebuilt/darwin-x86/arm-eabi/lib/ldscripts
for f in ldscripts/*; do \
/usr/bin/install -c -m 644 $f /tmp/ndk-toolchain/ndk-prebuilt-2357/
toolchains/arm-eabi-4.4.0/prebuilt/darwin-x86/arm-eabi/lib/$f ; \
done
test -z "/tmp/ndk-toolchain/ndk-prebuilt-2357/toolchains/arm-
eabi-4.4.0/prebuilt/darwin-x86/man/man1" || /bin/sh /tmp/ndk-toolchain/
build-8kZ9fX/src/build/../binutils/binutils-2.19/ld/../mkinstalldirs "/
tmp/ndk-toolchain/ndk-prebuilt-2357/toolchains/arm-eabi-4.4.0/prebuilt/
darwin-x86/man/man1"
/usr/bin/install -c -m 644 '/tmp/ndk-toolchain/build-8kZ9fX/src/
build/../binutils/binutils-2.19/ld/ld.1' '/tmp/ndk-toolchain/ndk-
prebuilt-2357/toolchains/arm-eabi-4.4.0/prebuilt/darwin-x86/man/man1/
arm-eabi-ld.1'
make[4]: Nothing to be done for `all'.
/bin/sh /tmp/ndk-toolchain/build-8kZ9fX/src/build/../binutils/
binutils-2.19/libiberty/../mkinstalldirs /tmp/ndk-toolchain/ndk-
prebuilt-2357/toolchains/arm-eabi-4.4.0/prebuilt/darwin-x86/lib/`gcc -
m32 -Wno-error -print-multi-os-directory`
mkdir /tmp/ndk-toolchain/ndk-prebuilt-2357/toolchains/arm-eabi-4.4.0/
prebuilt/darwin-x86/lib
/usr/bin/install -c -m 644 ./libiberty.a /tmp/ndk-toolchain/ndk-
prebuilt-2357/toolchains/arm-eabi-4.4.0/prebuilt/darwin-x86/lib/`gcc -
m32 -Wno-error -print-multi-os-directory`/./libiberty.an
( cd /tmp/ndk-toolchain/ndk-prebuilt-2357/toolchains/arm-eabi-4.4.0/
prebuilt/darwin-x86/lib/`gcc -m32 -Wno-error -print-multi-os-
directory` ; chmod 644 ./libiberty.an ;ranlib ./libiberty.an )
mv -f /tmp/ndk-toolchain/ndk-prebuilt-2357/toolchains/arm-eabi-4.4.0/
prebuilt/darwin-x86/lib/`gcc -m32 -Wno-error -print-multi-os-
directory`/./libiberty.an /tmp/ndk-toolchain/ndk-prebuilt-2357/
toolchains/arm-eabi-4.4.0/prebuilt/darwin-x86/lib/`gcc -m32 -Wno-error
-print-multi-os-directory`/./libiberty.a
if test -n ""; then \
case "" in \
/*) thd=;; \
*) thd=/tmp/ndk-toolchain/ndk-prebuilt-2357/toolchains/arm-
eabi-4.4.0/prebuilt/darwin-x86/include/;; \
esac; \
/bin/sh /tmp/ndk-toolchain/build-8kZ9fX/src/build/../binutils/
binutils-2.19/libiberty/../mkinstalldirs ${thd}; \
for h in /tmp/ndk-toolchain/build-8kZ9fX/src/build/../binutils/
binutils-2.19/libiberty/../include/ansidecl.h /tmp/ndk-toolchain/
build-8kZ9fX/src/build/../binutils/binutils-2.19/libiberty/../include/
demangle.h /tmp/ndk-toolchain/build-8kZ9fX/src/build/../binutils/
binutils-2.19/libiberty/../include/dyn-string.h /tmp/ndk-toolchain/
build-8kZ9fX/src/build/../binutils/binutils-2.19/libiberty/../include/
fibheap.h /tmp/ndk-toolchain/build-8kZ9fX/src/build/../binutils/
binutils-2.19/libiberty/../include/floatformat.h /tmp/ndk-toolchain/
build-8kZ9fX/src/build/../binutils/binutils-2.19/libiberty/../include/
hashtab.h /tmp/ndk-toolchain/build-8kZ9fX/src/build/../binutils/
binutils-2.19/libiberty/../include/libiberty.h /tmp/ndk-toolchain/
build-8kZ9fX/src/build/../binutils/binutils-2.19/libiberty/../include/
objalloc.h /tmp/ndk-toolchain/build-8kZ9fX/src/build/../binutils/
binutils-2.19/libiberty/../include/partition.h /tmp/ndk-toolchain/
build-8kZ9fX/src/build/../binutils/binutils-2.19/libiberty/../include/
safe-ctype.h /tmp/ndk-toolchain/build-8kZ9fX/src/build/../binutils/
binutils-2.19/libiberty/../include/sort.h /tmp/ndk-toolchain/
build-8kZ9fX/src/build/../binutils/binutils-2.19/libiberty/../include/
splay-tree.h; do \
/usr/bin/install -c -m 644 $h ${thd}; \
done; \
fi
make[4]: Nothing to be done for `install'.
make[2]: Nothing to be done for `install-target'.
( \
make -C gcc-4.4.0 install)
/bin/sh /tmp/ndk-toolchain/build-8kZ9fX/src/build/../gcc/gcc-4.4.0/
mkinstalldirs /tmp/ndk-toolchain/ndk-prebuilt-2357/toolchains/arm-
eabi-4.4.0/prebuilt/darwin-x86 /tmp/ndk-toolchain/ndk-prebuilt-2357/
toolchains/arm-eabi-4.4.0/prebuilt/darwin-x86
rm -rf /tmp/ndk-toolchain/ndk-prebuilt-2357/toolchains/arm-eabi-4.4.0/
prebuilt/darwin-x86/libexec/gcc/arm-eabi/4.4.0/install-tools
/bin/sh /tmp/ndk-toolchain/build-8kZ9fX/src/build/../gcc/gcc-4.4.0/
fixincludes/../mkinstalldirs /tmp/ndk-toolchain/ndk-prebuilt-2357/
toolchains/arm-eabi-4.4.0/prebuilt/darwin-x86/libexec/gcc/arm-eabi/
4.4.0/install-tools
mkdir /tmp/ndk-toolchain/ndk-prebuilt-2357/toolchains/arm-eabi-4.4.0/
prebuilt/darwin-x86/libexec
mkdir /tmp/ndk-toolchain/ndk-prebuilt-2357/toolchains/arm-eabi-4.4.0/
prebuilt/darwin-x86/libexec/gcc
mkdir /tmp/ndk-toolchain/ndk-prebuilt-2357/toolchains/arm-eabi-4.4.0/
prebuilt/darwin-x86/libexec/gcc/arm-eabi
mkdir /tmp/ndk-toolchain/ndk-prebuilt-2357/toolchains/arm-eabi-4.4.0/
prebuilt/darwin-x86/libexec/gcc/arm-eabi/4.4.0
mkdir /tmp/ndk-toolchain/ndk-prebuilt-2357/toolchains/arm-eabi-4.4.0/
prebuilt/darwin-x86/libexec/gcc/arm-eabi/4.4.0/install-tools
/bin/sh /tmp/ndk-toolchain/build-8kZ9fX/src/build/../gcc/gcc-4.4.0/
fixincludes/../mkinstalldirs /tmp/ndk-toolchain/ndk-prebuilt-2357/
toolchains/arm-eabi-4.4.0/prebuilt/darwin-x86/lib/gcc/arm-eabi/4.4.0/
install-tools/include
mkdir /tmp/ndk-toolchain/ndk-prebuilt-2357/toolchains/arm-eabi-4.4.0/
prebuilt/darwin-x86/lib/gcc
mkdir /tmp/ndk-toolchain/ndk-prebuilt-2357/toolchains/arm-eabi-4.4.0/
prebuilt/darwin-x86/lib/gcc/arm-eabi
mkdir /tmp/ndk-toolchain/ndk-prebuilt-2357/toolchains/arm-eabi-4.4.0/
prebuilt/darwin-x86/lib/gcc/arm-eabi/4.4.0
mkdir /tmp/ndk-toolchain/ndk-prebuilt-2357/toolchains/arm-eabi-4.4.0/
prebuilt/darwin-x86/lib/gcc/arm-eabi/4.4.0/install-tools
mkdir /tmp/ndk-toolchain/ndk-prebuilt-2357/toolchains/arm-eabi-4.4.0/
prebuilt/darwin-x86/lib/gcc/arm-eabi/4.4.0/install-tools/include
/usr/bin/install -c -m 644 /tmp/ndk-toolchain/build-8kZ9fX/src/
build/../gcc/gcc-4.4.0/fixincludes/README-fixinc \
/tmp/ndk-toolchain/ndk-prebuilt-2357/toolchains/arm-eabi-4.4.0/
prebuilt/darwin-x86/lib/gcc/arm-eabi/4.4.0/install-tools/include/
README
/usr/bin/install -c fixinc.sh /tmp/ndk-toolchain/ndk-prebuilt-2357/
toolchains/arm-eabi-4.4.0/prebuilt/darwin-x86/libexec/gcc/arm-eabi/
4.4.0/install-tools/fixinc.sh
/usr/bin/install -c fixincl \
/tmp/ndk-toolchain/ndk-prebuilt-2357/toolchains/arm-eabi-4.4.0/
prebuilt/darwin-x86/libexec/gcc/arm-eabi/4.4.0/install-tools/fixincl
/usr/bin/install -c mkheaders /tmp/ndk-toolchain/ndk-prebuilt-2357/
toolchains/arm-eabi-4.4.0/prebuilt/darwin-x86/libexec/gcc/arm-eabi/
4.4.0/install-tools/mkheaders
build/genchecksum cc1-dummy > cc1-checksum.c
gcc -m32 -c -Wno-error -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual -
Wold-style-definition -Wc++-compat -Wmissing-format-attribute -
pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings
-DHAVE_CONFIG_H -I. -I. -I/tmp/ndk-toolchain/build-8kZ9fX/src/build/../
gcc/gcc-4.4.0/gcc -I/tmp/ndk-toolchain/build-8kZ9fX/src/build/../gcc/
gcc-4.4.0/gcc/. -I/tmp/ndk-toolchain/build-8kZ9fX/src/build/../gcc/
gcc-4.4.0/gcc/../include -I/tmp/ndk-toolchain/build-8kZ9fX/src/
build/../gcc/gcc-4.4.0/gcc/../libcpp/include -I/tmp/ndk-toolchain/
build-8kZ9fX/toolchain-arm-eabi-4.4.0/temp-install/include -I/tmp/ndk-
toolchain/build-8kZ9fX/toolchain-arm-eabi-4.4.0/temp-install/include -
I/tmp/ndk-toolchain/build-8kZ9fX/src/build/../gcc/gcc-4.4.0/gcc/../
libdecnumber -I/tmp/ndk-toolchain/build-8kZ9fX/src/build/../gcc/
gcc-4.4.0/gcc/../libdecnumber/dpd -I../libdecnumber cc1-checksum.c -
o cc1-checksum.o
gcc -m32 -Wno-error -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall -
Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual -
Wold-style-definition -Wc++-compat -Wmissing-format-attribute -
pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings
-DHAVE_CONFIG_H -o cc1 c-lang.o stub-objc.o attribs.o c-errors.o c-
lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-
common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o
c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-
mudflap.o c-pretty-print.o c-omp.o cc1-checksum.o \
main.o libbackend.a ../libcpp/libcpp.a ../libdecnumber/
libdecnumber.a ../libcpp/libcpp.a -liconv ../libiberty/libiberty.a ../
libdecnumber/libdecnumber.a -L/tmp/ndk-toolchain/build-8kZ9fX/
toolchain-arm-eabi-4.4.0/temp-install/lib -L/tmp/ndk-toolchain/
build-8kZ9fX/toolchain-arm-eabi-4.4.0/temp-install/lib -lmpfr -lgmp
gcc -m32 -Wno-error -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall -
Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual -
Wold-style-definition -Wc++-compat -Wmissing-format-attribute -
pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings
-DHAVE_CONFIG_H -o cc1plus-dummy \
cp/cp-lang.o stub-objc.o cp/call.o cp/decl.o cp/expr.o cp/pt.o
cp/typeck2.o cp/class.o cp/decl2.o cp/error.o cp/lex.o cp/parser.o cp/
ptree.o cp/rtti.o cp/typeck.o cp/cvt.o cp/except.o cp/friend.o cp/
init.o cp/method.o cp/search.o cp/semantics.o cp/tree.o cp/repo.o cp/
dump.o cp/optimize.o cp/mangle.o cp/cp-objcp-common.o cp/name-lookup.o
cp/cxx-pretty-print.o cp/cp-gimplify.o tree-mudflap.o attribs.o c-
common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o arm-c.o
c-pretty-print.o c-opts.o c-pch.o incpath.o cppdefault.o c-ppoutput.o
c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o tree-inline.o dummy-
checksum.o main.o libbackend.a ../libcpp/libcpp.a ../libdecnumber/
libdecnumber.a ../libcpp/libcpp.a -liconv ../libiberty/libiberty.a ../
libdecnumber/libdecnumber.a -L/tmp/ndk-toolchain/build-8kZ9fX/
toolchain-arm-eabi-4.4.0/temp-install/lib -L/tmp/ndk-toolchain/
build-8kZ9fX/toolchain-arm-eabi-4.4.0/temp-install/lib -lmpfr -lgmp
ld: duplicate symbol _insert_decl_map in libbackend.a(tree-inline.o)
and tree-inline.o
collect2: ld returned 1 exit status
make[3]: *** [cc1plus-dummy] Error 1
make[2]: *** [install-gcc] Error 2
make[1]: *** [install] Error 2
make: *** [install-target-gcc-gcc] Error 2
Error while installing toolchain. See /tmp/ndk-toolchain/build-8kZ9fX/
log.txt
ERROR: Could bot build arm-eabi-4.4.0 toolchain!
oyster:android-ndk-r5 sh$
oyster:android-ndk-r5 sh$
oyster:android-ndk-r5 sh$ cat /tmp/ndk-toolchain/build-8kZ9fX/log.txt
Building arm-eabi-4.4.0 toolchain... (this can be long)
HOST_ARCH=x86
HOST_OS=darwin
HOST_EXE=
HOST_TAG=darwin-x86
HOST_NUM_CPUS=2
BUILD_NUM_CPUS=4
new option: type='long_flag' name='--help' value=''
new option: type='long_flag' name='--verbose' value=''
new option: type='long_setting' name='--build-out' value='<path>'
new option: type='long_setting' name='--platform' value='<name>'
new option: type='long_setting' name='--sysroot' value='<path>'
new option: type='long_setting' name='--gdb-version' value='<version>'
new option: type='long_setting' name='--binutils-version'
value='<version>'
new option: type='short_setting' name='-j' value=''
new option: type='long_flag' name='--copy-libstdcxx' value=''
new option: type='long_flag' name='--keep-libstdcxx' value=''
Using C compiler: gcc -m32
Using C++ compiler: g++ -m32
Sysroot : Copying: /Users/sh/Projects/android-ndk-r5/platforms/
android-9/arch-arm --> /tmp/ndk-toolchain/ndk-prebuilt-2357/toolchains/
arm-eabi-4.4.0/prebuilt/darwin-x86/sysroot
Configure: arm-eabi-4.4.0 toolchain build
Building : arm-eabi-4.4.0 toolchain [this can take a long time].
Install : arm-eabi-4.4.0 toolchain binaries.
ERROR: Could bot build arm-eabi-4.4.0 toolchain!


On Dec 8, 10:50 am, David Turner <di...@android.com> wrote:
> Sorry, the patch is only for r5, not r4 or r4b
>
> > <android-ndk%2Bunsu...@googlegroups.com<android-ndk%252Buns...@googlegroups.com>

Michael

unread,
Dec 9, 2010, 11:15:08 AM12/9/10
to android-ndk
David,

I can confirm that your proposed patch fixes the compiler detection
issue. Thanks for your prompt involvement.

However, I am running into the same problem as outlined by shotwave
below:
> ld: duplicate symbol _insert_decl_map in libbackend.a(tree-inline.o)
> and tree-inline.o
> collect2: ld returned 1 exit status
This issue only concerns the arm-eabi-4.4.0 toolchain; the arm-linux-
androideabi-4.4.3 toolchain builds just fine. Personally I only need
the latter but obviously it would be great to get the whole thing
building smoothly on Snow Leopard.
Should I open a new discussion thread for that issue, or should we
continue discussing it here?

Michael

On Dec 8, 4:12 pm, David Turner <di...@android.com> wrote:
> Ok, can someone tell me if the following patch fixes the issue for them on
> OS X?
>
> Apply it with:
>
> cd $NDK
> patch -p1 < /path/to/patch/file
>
> Thanks in advance
>
> On Wed, Dec 8, 2010 at 3:48 PM, David Turner <di...@android.com> wrote:
>
> > On Wed, Dec 8, 2010 at 3:11 PM, İsmail Dönmez <ism...@namtrac.org> wrote:
>
> >> Hi;
>
> >> On Wed, Dec 8, 2010 at 4:08 PM, David Turner <di...@android.com> wrote:
>
> >> android-ndk...@googlegroups.com<android-ndk%2Bunsu...@googlegroups.com>
> >> .
> >> For more options, visit this group at
> >>http://groups.google.com/group/android-ndk?hl=en.
>
>
>
>  0001-prebuilt-common.sh-Better-64-bit-compiler-detection.patch
> 3KViewDownload

shotwave

unread,
Dec 9, 2010, 11:36:16 AM12/9/10
to android-ndk
Michael, you mentioned that 'This issue only concerns the arm-
eabi-4.4.0 toolchain; the arm-linux-
androideabi-4.4.3 toolchain builds just fine.'
What I have to do to switch to 'androideabi-4.4.3' toolchain?

shotwave

unread,
Dec 11, 2010, 10:42:26 AM12/11/10
to android-ndk
David do you have any updates wrt the problem I have mentioned above?
pls help

On Dec 9, 11:15 am, Michael <kmhofm...@gmail.com> wrote:

Michael

unread,
Dec 12, 2010, 12:31:24 PM12/12/10
to android-ndk
shotwave -

I just commented out the call for building the arm-eabi-4.4.0
toolchain; in this case line 234 in ./build/tools/rebuild-all-
prebuilt.sh.

Didn't have any time to investigate the other issue yet.

Michael

shotwave

unread,
Dec 13, 2010, 9:27:18 AM12/13/10
to android-ndk
Davis is ther eany update for the problem with

> ld: duplicate symbol _insert_decl_map in libbackend.a(tree-inline.o)
> and tree-inline.o
> collect2: ld returned 1 exit status

On Dec 9, 11:15 am, Michael <kmhofm...@gmail.com> wrote:

David Turner

unread,
Dec 13, 2010, 10:44:15 AM12/13/10
to andro...@googlegroups.com
I'm sorry but I don' thave any update there. Since I can rebuild binaries on Leopard that seem to work on all platforms, my priority now goes to fixing other more important issues at the moment.

To unsubscribe from this group, send email to android-ndk...@googlegroups.com.

Red Gator

unread,
Oct 1, 2013, 1:57:57 PM10/1/13
to andro...@googlegroups.com
This will also happen on Red Hat 6.3 on a 64-bit installation IF you don't have glibc-devel installed for i686.

Also the build appears to require the following atypica and/or 32-bit packages (probably in ubuntu but not on RH):

texinfo
termcap i686
curses-devel i686
libstdc++ i686





Reply all
Reply to author
Forward
0 new messages