zoukankan      html  css  js  c++  java
  • 编译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.4-0ubuntu0.7)
                            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-0 libclutter-gtk-1.0-0 libcogl15 libclutter-gst-2.0-0 gstreamer1.0-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运行图:

     

  • 相关阅读:
    VBA trouble
    深入浅出Automation Anywhere
    sqlserver--install/uninstall
    linux遇到的问题
    Java并发编程:线程池的使用(转载)
    java——线程
    关于项目管理工具 maven
    从xml文件取值
    jquery
    小结-9.20
  • 原文地址:https://www.cnblogs.com/tfanalysis/p/6860976.html
Copyright © 2011-2022 走看看