编译busybox错误汇总

提示错误:
arm-linux-gcc:Command not found
PATH里有/usr/oca/arm/bin,但是make的时候,就是找不到 arm-linux-gcc
原因:
export PATH=$PATH:/usr/local/arm/bin是设置当前用户的PATH,而sudo执行make的时候,使用的是超级用户权限,那也就使用了超级用户的PATH(但是这个PATH里,并没有/usr/ local/arm/bin)

解决办法
先打开一个超级用户权限的
sudo -s
在当前模式下,设置环境变量export PATH=$PATH /usr/local/arm/bin,再进入到busybox目录, make CONFIG_PREFIX=/work/nfs_root/first_fs install,就成功安装busybox了。

提示错误:
/home/book/work/busybox-1.7.0/scripts/gcc-version.sh: line 11: arm-linux-gcc: command not found
/home/book/work/busybox-1.7.0/scripts/gcc-version.sh: line 11: arm-linux-gcc: command not found
CC applets/applets.o
/bin/sh: 1: arm-linux-gcc: not found
scripts/Makefile.build:192: recipe for target 'applets/applets.o' failed
make[1]: *** [applets/applets.o] Error 127
Makefile:701: recipe for target 'applets' failed
make: *** [applets] Error 2

原因:
交叉编译器的绝对路径与相对路径问题

解决办法
在busybox的顶层Makefile 176行 CROSS COMPILE ?= 中添加/work/tools/gcc-3.4.5-glibc-2.3.6/bin/arm-linux-的绝对路径就成功了。(为什么以前用arm-linux-就可以自己找到?)

提示错误:
CC applets/applets.o
In file included from include/busybox.h:10,
from applets/applets.c:16:
include/libbb.h:15: error: syntax error before '<' token
In file included from /work/tools/gcc-3.4.5-glibc-2.3.6/lib/gcc/arm-linux/3.4.5/../../../../arm-linux/sys-include/dirent.h:62,
from include/libbb.h:16,
from include/busybox.h:10,
from applets/applets.c:16:
/work/tools/gcc-3.4.5-glibc-2.3.6/lib/gcc/arm-linux/3.4.5/../../../../arm-linux/sys-include/bits/dirent.h:35: error: syntax error before '}' token
applets/applets.c: In function get_trimmed_slice': applets/applets.c:102: warning: implicit declaration of function isspace'
scripts/Makefile.build:192: recipe for target 'applets/applets.o' failed
make[1]: *** [applets/applets.o] Error 1
Makefile:701: recipe for target 'applets' failed
make: *** [applets] Error 2
原因:
缺少必要头文件
解决办法
修改busybox中的源码:include/libbb.h 中,增加一行#include <sys/resource.h>。

有任何问题,均可通过公告中的二维码联系我

posted @   学习,积累,成长  阅读(816)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
  1. 1 少年 梦然
  2. 2 尘埃 林小柯
  3. 3 飞鸟和禅 任然
  4. 4 Dancing With Your Ghost Sasha Sloan
  5. 5 烟火人间 添儿呗
  6. 6 摘仙 伊格赛听、叶里
少年 - 梦然
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.
点击右上角即可分享
微信分享提示