busybox安装遇到的问题
问题一
miscutils/nandwrite.c: In function ‘nandwrite_main’:
miscutils/nandwrite.c:152:3: error: ‘MTD_FILE_MODE_RAW’ undeclared (first use in this function)
miscutils/nandwrite.c:152:3: note: each undeclared identifier is reported only once for each function it appears in
scripts/Makefile.build:197: recipe for target ‘miscutils/nandwrite.o’ failed
make[1]: *** [miscutils/nandwrite.o] Error 1
Makefile:742: recipe for target ‘miscutils’ failed
make: *** [miscutils] Error 2
百度后得知MTD_FILE_MODE_RAW定义在了linux的头文件/usr/include/mtd/mtd-abi.h中,而且在miscutils/文件夹下的nandwrite.c文件中没有包含mtd-abi.h头文件,而且在/busybox-1.27.1/include文件夹下没有mtd-abi.h文件那么问题就简单了。
将/usr/include/mtd/mtd-abi.h文件拷贝到/busybox-1.27.1/include中
cp /usr/include/mtd/mtd-abi.h /opt/3rdparty/busybox-1.27.1/include
打开nandwrite.c文件添加mtd-abi.h头文件
原来
#include "libbb.h"
#include <mtd/mtd-user.h>
......
添加后
#include "libbb.h"
#include "mtd-abi.h"
#include <mtd/mtd-user.h>
......
问题二
fallocate.c:(.text.fallocate_main+0x88): undefined reference to posix_fallocate' collect2: ld returned 1 exit status Note: if build needs additional libraries, put them in CONFIG_EXTRA_LDLIBS. Example: CONFIG_EXTRA_LDLIBS="pthread dl tirpc audit pam" Makefile:717: recipe for target 'busybox_unstripped' failed make: *** [busybox_unstripped] Error 1 解决:我用的是busybox1.27版本,当时一直抛undefined reference to
posix_fallocate’的错误,百度来的是1.31版本的结果,导致我在Miscellaneous Utilities----->下面一直找,甚至还对里面的选项猜起了迷(尴尬),其实是在Linux System Utilities —> 下面,把红色方框内的fallocate选项去掉就ok了
————————————————
版权声明:本文为CSDN博主「顾海明」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/go_home_look/article/details/103931282