This is a short essay about the mistakes in compiling ok6410 android-2.3 source codes.
If there is nothing happen when you compiling forlinx android-2.3, just go past.
My local host is 64bit system, but the forlinx android souce code was compiler on 32bit.
So we should change the follwing files : (You could also check this in the UserGuide.pdf of forlinx on charpter 8)
/external/clearsilver/cgi/Android.mk /external/clearsilver/cs/Android.mk /external/clearsilver/util/Android.mk /external/clearsilver/java-jni/Android.mk
Change -m32 to -m64 :
# 32 bit #LOCAL_CFLAGS += -m32 #LOCAL_LDFLAGS += -m32 # 64 bit LOCAL_CFLAGS += -m64 LOCAL_LDFLAGS += -m64
Then change the /build/core/main.mk
ifneq (64,$(findstring 64,$(build_arch))) #for 32-bit #ifneq (i686,$(findstring i686,$(build_arch)))
Finally, check your gcc and g++ version.
My localhost gcc and g++ are version 4.7, so I install gcc-4.6 and g++-4.6-multilib to relink the gcc and g++.
$ sudo rm -rf /usr/bin/gcc /usr/bin/g++ $ sudo ln -s /usr/bin/gcc-4.6 /usr/bin/gcc $ sudo ln -s /usr/bin/g++-4.6 /usr/bin/g++
We still need to change the following two files :
(1) build/core/combo/HOST_linux-x86.mk
#HOST_GLOBAL_CFLAGS += -D_FORTIFY_SOURCE=0 HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0
(2) farmework/base/libs/utils/Android.mk
#LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS) #LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS) -fpermissive