当前位置首页 > Ubuntu知识

[odroid-pc]ubuntu12.0464bitAndroid4.0.3源码编译报错及解决的方法

阅读次数:336 次  来源:admin  发布时间:

第一个错误:

host Executable: cmu2nuance (out/host/linux-x86/obj/EXECUTABLES/cmu2nuance_intermediates/cmu2nuance)

/usr/bin/ld: cannot find -lncurse

collect2: ld returned 1 exit statu

make: *** [out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb] Error 1

make: *** Waiting for unfinished jobs....

host Executable: coverage (out/host/linux-x86/obj/EXECUTABLES/coverage_intermediates/coverage)

安装libncurses5-dev:i386能够解决

udo apt-get install libncurses5-dev:i386

编译kernel源代码时出现例如以下错误:

HOSTLD scripts/kconfig/mconf

cripts/kconfig/mconf.o: In function `show_help':

mconf.c:(.text+0x811): undefined reference to `stdscr'

cripts/kconfig/mconf.o: In function `main':

mconf.c:(.text+0x1286): undefined reference to `initscr'

mconf.c:(.text+0x128d): undefined reference to `stdscr'

cripts/kconfig/lxdialog/checklist.o: In function `print_arrows':

checklist.c:(.text+0x41): undefined reference to `wmove'

checklist.c:(.text+0x61): undefined reference to `acs_map'

安装libncurses5-dev能够解决

udo apt-get install libncurses5-dev

第二个错误:

cc1plus: all warnings being treated as error

make: *** [out/host/linux-x86/obj/EXECUTABLES/obbtool_intermediates/Main.o] 错误 1

解决:通过SMBAserver进入并改动源代码文件夹下/build/core/combo/HOST_linux-x86.mk文件:

将下面语句

HOST_GLOBAL_CFLAGS += -D_FORTIFY_SOURCE=0

改动为

HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0

第三个错误:

make: *** [out/host/linux-x86/obj/EXECUTABLES/llvm-rs-cc_intermediates/slang_rs_export_foreach

在project根文件夹下,打开以下的makefile文件:

源代码文件夹 frameworks/compile/slang/Android.mk

.在打开的makefile文件里依照以下更改:

#local_cflags_for_slang := -Wno-sign-promo -Wall -Wno-unused-parameter -Werror

local_cflags_for_slang := -Wno-sign-promo -Wall -Wno-unused-parameter

原因非常easy 把警告当作error处理,所以此处要改动

第四个错误:

make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/libMesa_intermediates/src/glsl/linker.o] Error 1

olutions:external/mesa3d/src/glsl/linker.c

+#include <stddef.h>

#include <cstdlib>

#include <cstdio>

第五个错误:

In file included from external/oprofile/libpp/arrange_profiles.cpp:24:0:

external/oprofile/libpp/format_output.h:94:22: 错误: reference ‘counts’ cannot be declared ‘mutable’ [-fpermissive]

make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/liboprofile_pp_intermediates/arrange_profiles.o] 错误 1

改动external/oprofile/libpp/format_output.h:94行

mutable counts_t & count

改为:

counts_t & count

第六个错误:

target arm C: libc <= bionic/libc/bionic/pthread.c

arm-linux-androideabi-gcc: error trying to exec 'cc1': execvp: No such file or directory

make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libc_intermediates/bionic/pthread.o] Error 1

gcc -print-prog-name=cc1

运行命令:export PATH=path/to/cc1:$PATH

后面的错误及解决方法:參照http://www.cnblogs.com/xingfuzzhd/archive/2012/09/05/2672000.html

编译成功后:

root@sjc-pc:~# vim ~/.bashrc

在文件里适当位置加入

#java 程序开发/执行的一些环境变量

export ANDROID_PRODUCT_OUT=~/out/target/product/generic

ANDROID_PRODUCT_OUT_BIN=~/out/host/linux-x86/bi

export PATH=${PATH}:${ANDROID_PRODUCT_OUT_BIN}:${ANDROID_PRODUCT_OUT}

#以上为songjiachen加入20140303

root@sjc-pc:~# source ~/.bashrc

root@sjc-pc:~# cd ~/out/target/product/generic

root@sjc-pc:~/out/target/product/generic# emulator -system system.img -data userdata.img -ramdisk ramdisk.img

emulator: WARNING: system partition size adjusted to match image file (166 MB > 66 MB)

此时模拟器已经成功执行

Could not configure '/dev/hpet' to have a 1024Hz timer. This is not a fatal

error, but for better emulation accuracy type:

'echo 1024 > /proc/sys/dev/hpet/max-user-freq' as root.

root@sjc-pc:~/out/target/product/generic# emulator -system system.img -data userdata.img -ramdisk ramdisk.img -partition-size 1024

此时模拟器已经成功执行 加入 -partition-size 1024为使=warning消除

直接输入emulator也可
上一篇:Ubuntui72600集成显卡驱动sandybridgeHDGraphics20003000LinuxDeepin深度Linu
下一篇:linux(centos)配置ipv6网卡