Errors when building android-gin…

来源:互联网 发布:kettle处理大数据 编辑:程序博客网 时间:2024/05/16 04:54

7、<?xml:namespaceprefix = o ns = "urn:schemas-microsoft-com:office:office"/> 

target thumb C: toolbox<= system/core/toolbox/lsof.c

system/core/toolbox/lsof.c:48:error: 'PATH_MAX' undeclared here (not in afunction)

make: ***[out/target/product/myx86/obj/EXECUTABLES/toolbox_intermediates/lsof.o]Error 1

definePATH_MAX in system/core/toolbox/lsof.c
#ifndef PATH_MAX
#define PATH_MAX 4096
#endif

 

8、 

target thumb C: dnsmasq<= external/dnsmasq/src/dbus.c

external/dnsmasq/src/dbus.c:21:23:error: dbus/dbus.h: No such file or directory

undefineHAVE_DBUS in external/dnsmasq/src/config.h
#ifdef __ANDROID__
#undef HAVE_DBUS
#endif

9、 

target StaticLib: libOpenSLESUT(out/target/product/myx86/obj/STATIC_LIBRARIES/libOpenSLESUT_intermediates/libOpenSLESUT.a)

target SharedLib: libOpenSLES(out/target/product/myx86/obj/SHARED_LIBRARIES/libOpenSLES_intermediates/LINKED/libOpenSLES.so)

out/target/product/myx86/obj/SHARED_LIBRARIES/libOpenSLES_intermediates/IAndroidEffect.o:(.data.rel.ro._ZTIN7android12SortedVectorINS_16key_value_pair_tImPNS_11AudioEffectEEEEE[typeinfoforandroid::SortedVector<android::key_value_pair_t<unsignedlong, android::AudioEffect*> >]+0x0):undefined reference to `vtable for__cxxabiv1::__vmi_class_type_info'

out/target/product/myx86/obj/SHARED_LIBRARIES/libOpenSLES_intermediates/IAndroidEffect.o:(.data.rel.ro._ZTIN7android12SortedVectorINS_16key_value_pair_tImPNS_11AudioEffectEEEEE[typeinfoforandroid::SortedVector<android::key_value_pair_t<unsignedlong, android::AudioEffect*>>]+0x10): undefined reference to `typeinfo forandroid::SortedVectorImpl'

collect2: ld returned 1 exitstatus

changesystem/media/opensles/libopensles/IAndroidEffect.c toIAndroidEffect.cpp
$mv IAndroidEffect.c IAndroidEffect.cpp

Android.mk
change
IAndroidEffect.c
to
IAndroidEffect.cpp

10、            

target thumb C: libmincrypt<= system/core/libmincrypt/sha.c

system/core/libmincrypt/sha.c: Infunction 'SHA1_Transform':

system/core/libmincrypt/sha.c:69:error: 'u_int32_t' undeclared (first use in thisfunction)

system/core/libmincrypt/sha.c:69:error: (Each undeclared identifier is reported onlyonce

system/core/libmincrypt/sha.c:69:error: for each function it appears in.)

system/core/libmincrypt/sha.c:69:error: expected ';' before '__swap32md_x'

system/core/libmincrypt/sha.c:69:error: '__swap32md_x' undeclared (first use in thisfunction)

system/core/libmincrypt/sha.c:70:error: expected ';' before '__swap32md_x'

system/core/libmincrypt/sha.c:71:error: expected ';' before '__swap32md_x'

system/core/libmincrypt/sha.c:72:error: expected ';' before '__swap32md_x'

system/core/libmincrypt/sha.c:73:error: expected ';' before '__swap32md_x'

system/core/libmincrypt/sha.c:75:error: expected ';' before '__swap32md_x'

.........

make: ***[out/target/product/myx86/obj/STATIC_LIBRARIES/libmincrypt_intermediates/sha.o]Error 1

bionic/libc/include/byteswap.h
change
#include <endian.h>
to
#include<sys/endian.h>

11、            

target arm C: libnfc<=external/libnfc-nxp/src/phLibNfc.c

cc1: error: unrecognized commandline option "-mapcs"

cc1: error: unrecognized commandline option "-mno-sched-prolog"

cc1: error: unrecognized commandline option "-mabi=aapcs-linux"

cc1: error: unrecognized commandline option "-mno-thumb-interwork"

make: ***[out/target/product/myx86/obj/SHARED_LIBRARIES/libnfc_intermediates/src/phLibNfc.o]Error 1

removethese LOCAL_CFLAGS commands in Android.mk

change
LOCAL_CFLAGS += -DNXP_MESSAGING -DINCLUDE_DALINIT_DEINIT -pipe-fomit-frame-pointer -Wall -Wno-trigraphs-Werror-implicit-function-declaration  -fno-strict-aliasing-mapcs -mno-sched-prolog -mabi=aapcs-linux -mno-thumb-interwork-msoft-float -Uarm -fno-common –fpic
to
LOCAL_CFLAGS += -DNXP_MESSAGING -DINCLUDE_DALINIT_DEINIT -pipe-fomit-frame-pointer -Wall -Wno-trigraphs-Werror-implicit-function-declaration  -fno-strict-aliasing-msoft-float -Uarm -fno-common -fpic

12、            

external/libnfc-nxp/Linux_x86/phDal4Nfc_i<?xml:namespaceprefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags"/><?xml:namespace prefix = st1/>2c.c:43:25: error: linux/pn544.h: No such file ordirectory

external/libnfc-nxp/Linux_x86/phDal4Nfc_i2c.c:In function 'phDal4Nfc_i2c_reset':

external/libnfc-nxp/Linux_x86/phDal4Nfc_i2c.c:248:error: 'PN544_SET_PWR' undeclared (first use in thisfunction)

external/libnfc-nxp/Linux_x86/phDal4Nfc_i2c.c:248:error: (Each undeclared identifier is reported onlyonce

external/libnfc-nxp/Linux_x86/phDal4Nfc_i2c.c:248:error: for each function it appears in.)

make: ***[out/target/product/myx86/obj/SHARED_LIBRARIES/libnfc_intermediates/Linux_x86/phDal4Nfc_i2c.o]Error 1

Add pn544.hheader file to bionic/libc/kernel/common/linux, the pn544.h is inbionic tools_r9 branch

13、            

Target userdata fs image:out/target/product/myx86/userdata.img

Install:out/host/linux-x86/lib/libneo_cgi.so

in mkuserimg.shPATH=out/host/linux-x86/bin/:/home/asus/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/asus/bin

Only ext4 issupported!

make: ***[out/target/product/myx86/userdata.img] Error 3

make: *** Waiting for unfinishedjobs....

defineTARGET_USERIMAGES_USE_EXT4 := true in your product’sBoardConfig.mk

14、            

Target system fs image:out/target/product/myx86/obj/PACKAGING/systemimage_intermediates/system.img

in mkuserimg.shPATH=out/host/linux-x86/bin/:/home/asus/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/asus/bin

make_ext4fs -l 128M -a systemout/target/product/myx86/obj/PACKAGING/systemimage_intermediates/system.imgout/target/product/myx86/system

Creating filesystem withparameters:

   Size: 134217728

   Block size: 4096

   Blocks per group: 32768

   Inodes per group: 8192

   Inode size: 256

   Journal blocks: 1024

   Label:

   Blocks: 32768

   Block groups: 1

   Reserved block group size: 7

error: do_inode_allocate_extents:Failed to allocate 749 blocks

 

make: ***[out/target/product/myx86/obj/PACKAGING/systemimage_intermediates/system.img]Error 4

defineTARGET_SYSTEMIMAGES_USE_EXT2 := true in your product’sBoardConfig.mk

build/core/Makefile
change
ifeq ($(INTERNAL_USERIMAGES_USE_EXT),true)

 ## generate an ext2image

 # $(1): output file

 definebuild-systemimage-target

    @echo "Target system fs image: $(1)"

    $(callbuild-userimage-ext-target, $(TARGET_OUT), $(1), system,$(INTERNAL_USERIMAGES_EXT_VARIANT),$(BOARD_SYSTEMIMAGE_PARTITION_SIZE))

 endef
to
ifeq ($(INTERNAL_USERIMAGES_USE_EXT),true)

  ifeq($(TARGET_SYSTEMIMAGES_USE_EXT2),true)

   -include external/genext2fs/Config.mk

    ##generate an ext2 image

    #$(1): output file

   define build-systemimage-target

     @echo "Target system fs image: $(1)"

     $(callbuild-userimage-ext2-target,$(TARGET_OUT),$(1),system,)

   endef

   else

   define build-systemimage-target

     @echo "Target system fs image: $(1)"

     $(callbuild-userimage-ext-target,$(TARGET_OUT),$(1),system,$(INTERNAL_USERIMAGES_EXT_VARIANT),$(BOARD_SYSTEMIMAGE_PARTITION_SIZE))

   endef

  endif


一个星期前成功移植android gingerbread forx86,主要包括android-gingerbread代码的编译、kernel的移植,以及对android自身代码的一些修改,最终成功启动进入到gingerbread。期间又忙其他事情去了,所以到现在才整理这个文档,这边只放了android的编译问题,对于kernel的编译问题和修改部分没有放上来,希望对大家的研究有所帮助,也请有兴趣的人一起交流进步。

这么短的文章还要分两篇写。。。百度的长度限制也太少了点吧!

原创文章,转载请注明出处,谢谢!

0 0