编译busybox错误汇总

2021-05-20 10:23:44 浏览数 (1)

提示错误: 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 functionisspace’ 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>。

0 人点赞