编译Lichee(FridenlyARM NanoPi-M1)碰到的问题及解决办法
1. 提示libz.so.1找不到
需要在ubuntu上安装下面两个包:
sudo apt-get install lib32ncurses5 ia32-libs
2. 提示xt_hl.o没有make规则
make[2]: *** No rule to make target `net/netfilter/xt_hl.o', needed by `net/netfilter/built-in.o'. Stop.
make[1]: *** [net/netfilter] Error 2
make: *** [net] Error 2
ERROR: build kernel Failed
为什么会出现这样的问题呢?因为我是使用VMware的共享文件夹来解压代码的,而代码是在Windows下解压的,这样做的话就会把xt_HL.c当成与xt_hl.c一样的文件,在同一文件夹下只能出现一个,这时解压出来的文件其实与Linux下是不同的!!!!
解决办法是,在Linux下解压代码,让文件名的大小写敏感!
3. 无法创建符号链接'output/lib/modules/3.4.39/source':操作不支持
WARNING: could not find drivers/media/video/sunxi-vfe/lib/.libisp.cmd for drivers/media/video/sunxi-vfe/lib/libisp
WARNING: modpost: Found 4 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
'arch/arm/boot/Image' -> 'output/bImage'
'arch/arm/boot/uImage' -> 'output/uImage'
'arch/arm/boot/zImage' -> 'output/zImage'
ln: failed to create symbolic link 'output/lib/modules/3.4.39/source': Operation not supported
make: *** [_modinst_] Error 1
ERROR: build kernel Failed
这个问题的原因和上面一样,都是因为在Windows下解压的文件大小写文件同名覆盖造成的。
4. Android无法打包文件
packing for android
normal
/home/merlin/projects/nano_pi_m1/lichee/tools/pack/pctools/linux/eDragonEx/
/home/merlin/projects/nano_pi_m1/lichee/tools/pack/out
Begin Parse sys_partion.fex
Add partion bootloader.fex BOOTLOADER_FEX00
Add partion very bootloader.fex BOOTLOADER_FEX00
FilePath: bootloader.fex
FileLength=5b4400Add partion env.fex ENV_FEX000000000
Add partion very env.fex ENV_FEX000000000
FilePath: env.fex
FileLength=20000Add partion boot.fex BOOT_FEX00000000
Add partion very boot.fex BOOT_FEX00000000
FilePath: boot.fex
CreateFile failed 2
Add partion system.fex SYSTEM_FEX000000
Add partion very system.fex SYSTEM_FEX000000
FilePath: system.fex
CreateFile failed 2
Add partion recovery.fex RECOVERY_FEX0000
Add partion very recovery.fex RECOVERY_FEX0000
FilePath: recovery.fex
CreateFile failed 2
Add partion sysrecovery.fex SYSRECOVERY_FEX0
Add partion diskfs.fex DISKFS_FEX000000
sys_config.fex Len: 0x504c
config.fex Len: 0x8448
split_xxxx.fex Len: 0x200
sys_partition.fex Len: 0x117a
boot0_nand.fex Len: 0x8000
boot0_sdcard.fex Len: 0x8000
u-boot.fex Len: 0xe4000
fes1.fex Len: 0x31e0
toc1.fex Len: 0x8
toc0.fex Len: 0x8
usbtool.fex Len: 0x23000
aultools.fex Len: 0x26ead
aultls32.fex Len: 0x238dd
cardtool.fex Len: 0x14000
cardscript.fex Len: 0x6ea
sunxi_mbr.fex Len: 0x10000
dlinfo.fex Len: 0x4000
arisc.fex Len: 0x217aa
bootloader.fex Len: 0x5b4400
Vbootloader.fex Len: 0x4
env.fex Len: 0x20000
Venv.fex Len: 0x4
The file boot.fex length = 0
BuildImg 400
Dragon execute image.cfg Failed ! ArgCnt = 3, 400
pack finish
查看ls -al之后发现boot.fex、system.fex和recovery.fex三个文件分别指向
android/out/target/product/nanopi-h3/boot.img
android/out/target/product/nanopi-h3/system.img
android/out/target/product/nanopi-h3/recovery.img
并且这几个文件均为红色的!!!

去到nanopi-h3文件下看,这三个文件集中缺失,所以,这很可能就是导致packing不成功的原因了。
沿着这样的线索,我们要解决的问题是找出为什么这三个IMG文件没有被生成?!
网友留下的一些解决线索:
http://blog.csdn.net/jiangdou88/article/details/25228505
http://bbs.csdn.net/topics/390967849?page=1
在ubuntu 16.04 LTS下无法成功编译Android,那么我换回到了14.04 LTS来了。
更新完成之后安装一大串的这些软件,会报umet package错误:
sudo apt-get install gawk git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
类似于这样的错误输出:
The following packages have unmet dependencies:
libgl1-mesa-glx:i386 : Depends: libglapi-mesa:i386 (= 8.0.-0ubuntu0.)
Recommends: libgl1-mesa-dri:i386 (>= 7.2)
E: Unable to correct problems, you have held broken packages.
然后按其提示缺少什么就安装什么(一次性安装),总共安装了以下软件,之后再执行上面的安装不再报错了。(正常安装了?得再往下看才知道)
sudo apt-get install libglapi-mesa:i386 libgl1-mesa-dri:i386 libcheese-gtk23 libcheese7 libclutter-1.0- libclutter-gtk-1.0- libcogl15 libclutter-gst-2.0- gstreamer1.-clutter
5. 编译内核时出错

意思是没有mkimage命令哈,那么我们安装便是了。
sudo apt-get install u-boot-tools
然后继续执行下面的命令编译内核
./build.sh -b nanopi-m1 -p android -t all
我再把boot.img拷贝到android/output/target/product/nanopi-h3/中
解决掉libwebviewchromium.so编译出错的问题(编译它要很久的时候,1小时以上,所以请耐心等待它返回。但如果出错,就是因为Swap太小造成的,加大就可以了),http://www.cnblogs.com/tfanalysis/articles/7154991.html
再把编译那儿的硬盘空间加大到了100GB。
同时也禁用的多线程编译make -j8
这样才编译完成。

烧写(PhoenixCard,这个软件要烧几次才成功一次PPPPPP,不过不用按着WIKI上的来回格式化,这个软件自己会格式化)

运行起来了

安卓接了HDMI运行图:

编译Lichee(FridenlyARM NanoPi-M1)碰到的问题及解决办法的更多相关文章
- Ubuntu16.04编译Android6.0/cm13.0教程及相关错误解决办法
一.必备工作 1.安装依赖库 sudo apt--dev libesd0-dev git-core gnupg flex bison gperf build-essential zip curl zl ...
- PLSQL碰到pls-00103的错误解决办法
CREATE OR REPLACE PACKAGE PKG_SHOW_CUST_DETAILS AS PROCEDURE SHOW_CUST_DETAILS( myArg VARCHAR2);END ...
- eclipse 和 android studio 编译时报 Unsupported major.minor version 52.0错解决办法
version 52.0 是java8的环境.当gradle tools 升级到2.2.1时候,可能编译时候会报该错误. 很多网友说更改java version,但是很多时候无效.下面是我遇到时候的解 ...
- 创建link server链接服务器碰到的问题及解决办法
问题描述 今天在做数据库迁移,然后新建link server(链接服务器)的时候,碰到以下问题. 我的sql 脚本是这样的. 然后,执行的时候就收到以下错误信息. Msg 468, Level 16, ...
- libreoffice.在Centos中使用时碰到X11 error的解决办法
先安装 libreoffice yum install libreoffice -y 尝试DOC转PDF是碰到报错 解决办法, 要安装多一个东西 yum install libreoffice-hea ...
- VC++ MFC单文档应用程序SDI下调用glGenBuffersARB(1, &pbo)方法编译通过但执行时出错原因分析及解决办法:glewInit()初始化的错误
1.问题症状 在VC++环境下,利用MFC单文档应用程序SDI下开发OpenGL程序,当调用glGenBuffersARB(1, &pbo)方法编译通过但执行时出错,出错代码如下: OpenG ...
- iOS开发遇到的坑之六--使用cocopods管理第三方库时,编译出现Library not found for -lPods问题的解决办法
在项目中有时候会遇到Library not found for -lPods(这里的IPods指的是你具体的第三方库)的问题 出现这个错误的原因是:xcode在编译的时候找不到这个库,从而导致项目无法 ...
- Angular build编译内存溢出"JavaScript heap out of memory"的解决办法
关于最近使用angular build编译打包的时候,遇到内存溢出的突发情况,做一个简单记录 编译报错如下↓↓↓ 报错信息很直观地指出是内存溢出了.是什么导致了内存溢出呢?其根本原因在于 nodejs ...
- Linux+CLion+树莓派远程编译时,Cmake编译出现undefined reference to `vtable for MainWindow'的解决办法
在win+CLion上进行远程qt开发时碰到以下错误: 错误提示: undefined reference to `vtable for MainWindow' 原因:源文件的目录结构有问题?? 解决 ...
随机推荐
- 外层页面与iframe相互调用的方法
iframe调用外层页面的方法: parent.func(); 外层页面调用里面的iframe中的内容方法: $("iframe").contents().find(" ...
- map、filter、reduce、lambda
一.map.filter.reduce map(fuction , iterable) 映射 对可迭代对象中的每一项,使用函数去改变 filter(function, iterable) 过滤 可迭代 ...
- log4cpp总结
body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...
- LeetCode OJ:Candy(糖果问题)
There are N children standing in a line. Each child is assigned a rating value. You are giving candi ...
- web运行异常解决
端口占用: 在dos下,输入 netstat -ano|findstr 8080 //说明:查看占用8080端口的进程 显示占用端口的进程 taskkill /pid 6856 /f ...
- 通过powershell实现基础认证钓鱼获得密码
本文来自https://www.secpulse.com/archives/4131.html $cred = $host.ui.promptforcredential('Failed Authent ...
- c# DataTable行转列
/// <summary> /// datatable行转列 /// </summary> /// <param name="dtSrc">来源 ...
- win10 安装MongoDB
win10上面安装mongodb的时候,注意不要勾选上Install MongoDB Compass, 否则会退出报错!!!! mongodb的安装 我是在E盘建立的一个mongodb文件夹,用来安装 ...
- 轻量级网络 - PVANet & SuffleNet
一. PVANet 论文:PVANET: Deep but Lightweight Neural Networks for Real-time Object Detection [点击下载] C ...
- Java堆空间溢出解决方法 Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
一般通过java -jar filename.jar运行jar包,但是当运行的java程序需要较大的内存时,可能会造成堆空间溢出. 例如,加载了几个G大小的json文件,运行报错: Exception ...