[RK3288][Android6.0] Ubuntu 编译环境错误小结

来源:互联网 发布:矩阵 线性映射 编辑:程序博客网 时间:2024/05/22 00:28
Platform: ROCKCHIP
OS: Android 6.0

Kernel: 3.10.92


拿到一台新安装的编译用服务器, 版本是:

Ubuntu 14.04.2 LTS (GNU/Linux 3.16.0-30-generic x86_64)

开始build会遇到一些缺少package的error,小结如下.


Build Kernel:
Error 1:
build@build--machine:~/rk3288/kernel$ make rk3288-tb_8846.img
......
  LD      vmlinux
  SORTEX  vmlinux
  SYSMAP  System.map
  OBJCOPY arch/arm/boot/Image
  Kernel: arch/arm/boot/Image is ready
  AS      arch/arm/boot/compressed/head.o
  LZO     arch/arm/boot/compressed/piggy.lzo
/bin/sh: 1: lzop: not found
  CC      arch/arm/boot/compressed/misc.o
make[2]: *** [arch/arm/boot/compressed/piggy.lzo] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** wait: No child processes.  Stop.
make[1]: *** [arch/arm/boot/compressed/vmlinux] Error 2
make: *** [zImage] Error 2

解决办法:
#sudo apt-get install lzop

Error 2:

build@build--machine:~/rk3288/kernel$ make rk3288-tb_8846.img
scripts/kconfig/conf --silentoldconfig Kconfig
^C
build@build--machine:~/rk3288/kernel$ make rk3288-tb_8846.img
  CC      scripts/mod/devicetable-offsets.s
  GEN     scripts/mod/devicetable-offsets.h
  HOSTCC  scripts/mod/file2alias.o
  HOSTLD  scripts/mod/modpost
  CHK     include/generated/uapi/linux/version.h
  CHK     include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
  CALL    scripts/checksyscalls.sh
  CHK     include/generated/compile.h
  GEN     drivers/video/rockchip/screen/lcd.h
  Kernel: arch/arm/boot/Image is ready
  LD      arch/arm/boot/compressed/vmlinux
  OBJCOPY arch/arm/boot/zImage
  Kernel: arch/arm/boot/zImage is ready
make: *** [kernel.img] Error 127

#### make failed to build some targets (18 seconds) ####

解决办法:
安装64bit机子对32bit程序运行的支持.
#sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386

另外,Android 5.1之后用的java环境是 openjdk-7,否则报错.
解决办法:
#sudo apt-get install openjdk-7-jdk
#PATH=/usr/lib/jvm/java-7-openjdk-amd64/bin:$PATH


Build Android:
Error1:
build@build--machine:~/rk3288/kernel$ make -j8
......
Notice file: external/jarjar/NOTICE -- out/host/linux-x86/obj/NOTICE_FILES/src//framework/jarjar.jar.txt
Yacc: aidl <= frameworks/base/tools/aidl/aidl_language_y.y
prebuilts/misc/linux-x86/bison/bison -d  -o out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp frameworks/base/tools/aidl/aidl_language_y.y
Notice file: frameworks/base/tools/aidl/NOTICE -- out/host/linux-x86/obj/NOTICE_FILES/src//bin/aidl.txt
Lex: aidl <= frameworks/base/tools/aidl/aidl_language_l.l
make: *** [out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp] Broken pipe
make: *** Waiting for unfinished jobs....
flex-2.5.39: fatal internal error, exec of /usr/bin/m4 failed
frameworks/base/tools/aidl/aidl_language_l.l:55: warning, rule cannot be matched
make: *** [out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_l.cpp] Broken pipe
make: *** Deleting file `out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_l.cpp'
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

解决办法:
#sudo apt-get install bison

Error2:
build@build--machine:~/rk3288/kernel$ make -j8
Copy: out/target/product/rk3288/system/etc/.allBlock
Copy: out/target/product/rk3288/system/etc/.videoBlock
Copy xml: out/target/product/rk3288/system/etc/GS8604.xml
/bin/bash: xmllint: command not found
make: *** [out/target/product/rk3288/system/etc/GS8604.xml] Error 127
make: *** Waiting for unfinished jobs....
preparing StaticLib: libc_common [including out/target/product/rk3288/obj/STATIC_LIBRARIES/libc_thread_atexit_impl_intermediates/libc_thread_atexit_impl.a]
preparing StaticLib: libc_common [including out/target/product/rk3288/obj/STATIC_LIBRARIES/libc_tzcode_intermediates/libc_tzcode.a]
target StaticLib: libc_common (out/target/product/rk3288/obj/STATIC_LIBRARIES/libc_common_intermediates/libc_common.a)

#### make failed to build some targets (12:49 (mm:ss)) ####

解决方法:
#sudo apt-get  install libxml2-utils


ERROR3

fatal: Not a git repository (or any of the parent directories): .git

提示说没有.git这样一个目录,解决办法如下:

git init就可以了!

ERROR4

当出现:error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory.时,我们首先知道的是缺少libz.so.1这个dll文件。 解决方法:很明显就是安装这个库所在包咯,可是我们怎么这知道 libz.so.1在哪个包呢? 我们使用命令:apt-file search 来查找,首先安装,按如下命令: sudo apt-get install apt-file 安装完以后系统会提示你update,如果没有提示,在终端输入如下命令: sudo apt-file update apt-file 是用来查找某个命令或者某一个库所在的包的,具体用法如下搜索: ~$ apt-file search libz.so.1 运行命令显示如下: lib32z1: /usr/lib32/libz.so.1 lib32z1: /usr/lib32/libz.so.1.2.3.3 lib32z1-dev: /usr/lib32/libz.so lsb-build-base3: /usr/lib/lsb3/libz.so zlib1g: /lib/libz.so.1 zlib1g: /lib/libz.so.1.2.3.3 zlib1g-dbg: /usr/lib/debug/lib/libz.so.1.2.3.3 zlib1g-dbg: /usr/lib/debug/usr/lib32/libz.so.1.2.3.3 zlib1g-dev: /usr/lib/libz.so 使用apt-file search 查找你的库所在包就行了,右边的是匹配你的库,左边的是你查的库所在的包,所以最后安装对应的包就行了。我们会发现与libz.so.1相对应的是左边名字叫:lib32z1的包,所以安装这个lib32z1包即可。 sudo apt-get install lib32z1



0 0
原创粉丝点击