OK6410开发板android系统boot编译—/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc:命令未找到

问题背景

这个问题是楼主在做OK6410开发板Android系统boot编译的时候遇到的。当时按照教程文档安装好Ubuntu-amd-64和配套交叉编译器之后,进行make编译u-boot,直接报如下错误: /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc:命令未找到

解决方法

1 常规解决方法

类似这种问题,常见的原因有以下两种:
1.Ubuntu系统交叉编译器的环境变量配置不对导致的;
2.Makefile的交叉编译器路径设置不对;
对于第一种原因,只要在Ubuntu系统中增加环境变量export PATH=$PATH:/usr/local/arm/4.3.2/bin,然后make clean以下,重新make就可以;
      对于第二种原因,一般都是Makefile中的CROSS_COMPILE路径不对导致的。将CROSS_COMPILE = /usr/local/arm/4.3.2/bin/arm-linux-gcc,修改为CROSS_COMPILE = /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-既可以解决问题;
但是!!!他妈的,但是!!!楼主就遇到了一个奇葩的问题,按照上述两种方法尝试还是未能解决问题!报同样的错误: /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc:命令未找到!!!那个是让我气得啊,琢磨了半天都不知道原因在哪里!!!后来,在楼主的不懈坚持下,终于找到原因所在: 很多arm-linux-gcc编译器都是针对32位的linux系统,由于安卓系统编译需要64位的Ubuntu系统,所以会报这个错误!!!
 

2 Ubuntu 64位系统arm-linux-gcc库缺失原因导致

后来经过楼主百度才得知:很多arm-linux-gcc编译器都是针对32位操作系统的,所以Ubuntu 64位操作系统需要安装一个叫“ia32-libs”的库,OK,问题得到解决了!具体解决步骤如下:
/forlinx/uboot1.1.6$ sudo apt-get install ia32-libs
然后make clean,重新编译Android u-boot:
/forlinx/uboot1.1.6$ make clean
/forlinx/uboot1.1.6$ make forlinx_nand_ram256_config
/forlinx/uboot1.1.6$ make

 
编译完成之后,再uboot-1.1.6目录下会生成u-boot.bin文件,该文件就是烧录到开发板nandflash上的u-boot二进制文件:

OK,问题得到解决了!!!

 
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值