Android4.4.3源码编译问题记录

external/mtd-utils/mkfs.ubifs/mkfs.ubifs.h:48:23: fatal error: uuid/uuid.h: 没有那个文件或目录
compilation terminated.
make: *** [out/host/linux-x86/obj/EXECUTABLES/mkfs.ubifs_intermediates/mkfs.ubifs.o] 错误 1
make: *** 正在等待未完成的任务....
解决办法:sudo apt-get install uuid-dev
make[1]: Entering directory `/home/jonhliu/work/projects/workspace_smk/i.MX6_Android4.4.3_CX62/kernel_imx'
make[1]: warning: -jN forced in submake: disabling jobserver mode.
external/mtd-utils/mkfs.ubifs/compr.c:27:18: fatal error: zlib.h: No such file or directory
#include
^
compilation terminated.
CHKinclude/generated/uapi/linux/version.h
CHKinclude/generated/utsrelease.h
make[2]: `include/generated/mach-types.h' is up to date.
host Executable: oatdump (out/host/linux-x86/obj/EXECUTABLES/oatdump_intermediates/oatdump)
CCscripts/mod/devicetable-offsets.s
make: *** [out/host/linux-x86/obj/EXECUTABLES/mkfs.ubifs_intermediates/compr.o] Error 1
make: *** Waiting for unfinished jobs....
GENscripts/mod/devicetable-offsets.h

解决办法: sudo apt-get installzlib1g-dev
3.)错误信息:
external/mtd-utils/mkfs.ubifs/compr.c:28:23: fatal error: lzo/lzo1x.h: 没有那个文件或目录
compilation terminated.
host C: mkfs.ubifs <= external/mtd-utils/mkfs.ubifs/hashtable/hashtable_itr.c
make: *** [out/host/linux-x86/obj/EXECUTABLES/mkfs.ubifs_intermediates/compr.o] 错误 1
make: *** 正在等待未完成的任务....
解决办法: sudo apt-get install liblzo2-dev
4.)错误信息:
host C++: oatdump <= art/oatdump/oatdump.cc
external/mtd-utils/mkfs.ubifs/hashtable/hashtable_itr.c:42:1: error: redefinition of ‘hashtable_iterator_key’
hashtable_iterator_key(struct hashtable_itr *i)
^
In file included from external/mtd-utils/mkfs.ubifs/hashtable/hashtable_itr.c:5:0:
external/mtd-utils/mkfs.ubifs/hashtable/hashtable_itr.h:32:1: note: previous definition of ‘hashtable_iterator_key’ was here
hashtable_iterator_key(struct hashtable_itr *i)
^
external/mtd-utils/mkfs.ubifs/hashtable/hashtable_itr.c:46:1: error: redefinition of ‘hashtable_iterator_value’
hashtable_iterator_value(struct hashtable_itr *i)
^
【Android4.4.3源码编译问题记录】In file included from external/mtd-utils/mkfs.ubifs/hashtable/hashtable_itr.c:5:0:
external/mtd-utils/mkfs.ubifs/hashtable/hashtable_itr.h:41:1: note: previous definition of ‘hashtable_iterator_value’ was here
hashtable_iterator_value(struct hashtable_itr *i)
^
In file included from external/mtd-utils/mkfs.ubifs/mkfs.ubifs.h:54:0,
from external/mtd-utils/mkfs.ubifs/compr.c:33:
external/mtd-utils/mkfs.ubifs/ubifs.h: In function ‘ubifs_idx_branch’:
external/mtd-utils/mkfs.ubifs/ubifs.h:426:55: warning: pointer of type ‘void *’ used in arithmetic [-Wpointer-arith]
return (struct ubifs_branch *)((void *)idx->branches +
^
In file included from external/mtd-utils/mkfs.ubifs/mkfs.ubifs.h:55:0,
from external/mtd-utils/mkfs.ubifs/compr.c:33:
external/mtd-utils/mkfs.ubifs/key.h: In function ‘key_write’:
external/mtd-utils/mkfs.ubifs/key.h:148:12: warning: pointer of type ‘void *’ used in arithmetic [-Wpointer-arith]
memset(to + 8, 0, UBIFS_MAX_KEY_LEN - 8);
^
make: *** [out/host/linux-x86/obj/EXECUTABLES/mkfs.ubifs_intermediates/hashtable/hashtable_itr.o] 错误 1
make: *** 正在等待未完成的任务....
解决办法:sudo apt-get install mtd-utils
5.)错误信息:
host C: mkfs.ubifs <= external/mtd-utils/mkfs.ubifs/hashtable/hashtable_itr.c
external/mtd-utils/mkfs.ubifs/hashtable/hashtable_itr.c:42:1: error: redefinition of ‘hashtable_iterator_key’
hashtable_iterator_key(struct hashtable_itr *i)
^
In file included from external/mtd-utils/mkfs.ubifs/hashtable/hashtable_itr.c:5:0:
external/mtd-utils/mkfs.ubifs/hashtable/hashtable_itr.h:32:1: note: previous definition of ‘hashtable_iterator_key’ was here
hashtable_iterator_key(struct hashtable_itr *i)
^
external/mtd-utils/mkfs.ubifs/hashtable/hashtable_itr.c:46:1: error: redefinition of ‘hashtable_iterator_value’
hashtable_iterator_value(struct hashtable_itr *i)
^
In file included from external/mtd-utils/mkfs.ubifs/hashtable/hashtable_itr.c:5:0:
external/mtd-utils/mkfs.ubifs/hashtable/hashtable_itr.h:41:1: note: previous definition of ‘hashtable_iterator_value’ was here
hashtable_iterator_value(struct hashtable_itr *i)
^
make: *** [out/host/linux-x86/obj/EXECUTABLES/mkfs.ubifs_intermediates/hashtable/hashtable_itr.o] 错误 1
make: *** 正在等待未完成的任务....
解决办法:
只注释掉external/mtd-utils/mkfs.ubifs/hashtable/hashtable_itr.h代码中定义
‘hashtable_iterator_key’和 hashtable_iterator_value。(解决办法参考此摘要网址:http://www.bubuko.com/infodetail-2415855.html)
frameworks/base/api/current.txt:36004: error 9: Removed public method com.semisky.autoservice.services.KeyService.parserProtocol
out/target/common/obj/PACKAGING/public_api.txt:34913: error 17: Field com.semisky.autoservice.manager.AutoConstants.FragramceLevel.LEVEL_HIGHT has changed value from 1 to 3
out/target/common/obj/PACKAGING/public_api.txt:34914: error 17: Field com.semisky.autoservice.manager.AutoConstants.FragramceLevel.LEVEL_LOW has changed value from 3 to 1
out/target/common/obj/PACKAGING/public_api.txt:36004: error 4: Added public method com.semisky.autoservice.services.KeyService.parserProtocol

******************************
You have tried to change the API from what has been previously approved.

To make these errors go away, you have two choices:
1) You can add "@hide" javadoc comments to the methods, etc. listed in the
errors above.

2) You can update current.txt by executing the following command:
make update-api

To submit the revised current.txt to the main Android repository,
you will need approval.
******************************
make: *** [out/target/common/obj/PACKAGING/checkapi-current-timestamp] Error 38
make: *** Waiting for unfinished jobs....
解决办法:make update-api

    推荐阅读