编译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' 原因:源文件的目录结构有问题?? 解决 ...
随机推荐
- windows下使用selenium报错selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH
问题 :执行程序代码报错: WebDriverException:Message:'geckodriver'executable needs to be in Path 或者 selenium.com ...
- css3中自定义 placeholder 文本颜色
对于 ie 浏览器我们可以通过自定义的 class 名称,直接修改 span 这个标签的样式.对于其他浏览器诸如谷歌和火狐就需要特殊处理了,不多说直接上代码: ::-webkit-input-plac ...
- S16 day7 socket
网络基础之网络协议篇:http://www.cnblogs.com/linhaifeng/articles/5937962.html 参考博客:http://www.cnblogs.com/linha ...
- SpringXML方式配置bean的集合注入:list,map,properties
新建一个bean,设置相应的集合属性 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 public class Collecti ...
- 老鼠走迷宫(1)输出唯一路径(C语言)
需求 有一个迷宫,在迷宫的某个出口放着一块奶酪.将一只老鼠由某个入口处放进去,它必须穿过迷宫,找到奶酪.请找出它的行走路径. STEP 1 题目转化 我们用一个二维数组来表示迷宫,用2表示迷宫的墙壁, ...
- vue.js 源代码学习笔记 ----- 工具方法 props
/* @flow */ import { hasOwn, isObject, isPlainObject, capitalize, hyphenate } from 'shared/util' imp ...
- 概念:GNU构建系统和Autotool
经常使用Linux的开发人员或者运维人员,可能对configure->make->make install相当熟悉.事实上,这叫GNU构建系统,利用脚本和make程序在特定平台上构建软件. ...
- [置顶]
如何用PYTHON代码写出音乐
如何用PYTHON代码写出音乐 什么是MIDI 博主本人虽然五音不全,而且唱歌还很难听,但是还是非常喜欢听歌的.我一直在做这样的尝试,就是通过人工智能算法实现机器自动的作词和编曲(在这里预告下,通过深 ...
- MPAndroidChart Wiki(译文)~Part 2
7. 填充数据 这一章节将讲解给各式各样的图表设置数据的方法. 7.1 LineChart(线形图) 想给图表添加数据,使用如下方法: public void setData(ChartData da ...
- java 导入Excel -- 套路及代码分析
一.思路分析 1.我们要做导入,实际上也就是先文件上传,然后读取文件的数据. 2.我们要有一个导入的模板,因为我们导入的Excel列要和我们的数据字段匹配上,所以我们要给它来一个规定,也就是模板. 3 ...