CentOS下编译安装Busybox


[root@cloud ~]# yum -y install wget make gcc perl glibc-static ncurses-devel libgcrypt-devel

[root@cloud ~]# wget http://busybox.net/downloads/busybox-1.21.0.tar.bz2

[root@cloud ~]# tar -jxvf busybox-1.21.0.tar.bz2

[root@cloud ~]# cd busybox-1.21.0

[root@cloud busybox-1.21.0]# make

[root@cloud busybox-1.21.0]# make install

故障1:

[root@cloud busybox-1.21.0]# make

………………

==========

/usr/bin/ld: cannot find -lcrypt

collect2: ld 返回 1

make: *** [busybox_unstripped] 错误 1

[root@cloud busybox-1.21.0]# make

  LINK    busybox_unstripped

Trying libraries: crypt m

 Library crypt is not needed, excluding it

 Library m is needed, can't exclude it (yet)

Final link with: m

  DOC     busybox.pod

  DOC     BusyBox.txt

  DOC     busybox.1

  DOC     BusyBox.html

[root@cloud busybox-1.21.0]# 

解决办法:

[root@cloud busybox-1.21.0]# yum -y install libgcrypt-devel

[root@cloud busybox-1.21.0]# make


Other:

yum list all | grep crypt

————————————————————————————————————

故障2:

[root@cloud busybox-1.21.0]# make

……………………

miscutils/ubi_tools.c:67:26: 错误:mtd/ubi-user.h:没有那个文件或目录

miscutils/ubi_tools.c: In function ‘ubi_tools_main’:

miscutils/ubi_tools.c:137: 错误:‘UBI_DEV_NUM_AUTO’ 未声明 (在此函数内第一次使用)

miscutils/ubi_tools.c:137: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其

miscutils/ubi_tools.c:137: 错误:所在的函数内只报告一次。)

miscutils/ubi_tools.c:138: 错误:‘UBI_VOL_NUM_AUTO’ 未声明 (在此函数内第一次使用)

miscutils/ubi_tools.c:157: 错误:‘req’ 的存储大小未知

miscutils/ubi_tools.c:165: 错误:‘UBI_IOCATT’ 未声明 (在此函数内第一次使用)

miscutils/ubi_tools.c:157: 警告:未使用的变量 ‘req’

miscutils/ubi_tools.c:171: 错误:‘UBI_IOCDET’ 未声明 (在此函数内第一次使用)

miscutils/ubi_tools.c:174: 错误:‘req’ 的存储大小未知

miscutils/ubi_tools.c:181: 错误:‘UBI_MAX_VOLUME_NAME’ 未声明 (在此函数内第一次使用)

miscutils/ubi_tools.c:188: 错误:‘UBI_STATIC_VOLUME’ 未声明 (在此函数内第一次使用)

miscutils/ubi_tools.c:190: 错误:‘UBI_DYNAMIC_VOLUME’ 未声明 (在此函数内第一次使用)

miscutils/ubi_tools.c:199: 错误:‘UBI_IOCMKVOL’ 未声明 (在此函数内第一次使用)

miscutils/ubi_tools.c:174: 警告:未使用的变量 ‘req’

miscutils/ubi_tools.c:205: 错误:‘UBI_IOCRMVOL’ 未声明 (在此函数内第一次使用)

miscutils/ubi_tools.c:208: 错误:‘req’ 的存储大小未知

miscutils/ubi_tools.c:218: 错误:‘UBI_IOCRSVOL’ 未声明 (在此函数内第一次使用)

miscutils/ubi_tools.c:208: 警告:未使用的变量 ‘req’

miscutils/ubi_tools.c:226: 错误:‘UBI_IOCVOLUP’ 未声明 (在此函数内第一次使用)

make[1]: *** [miscutils/ubi_tools.o] 错误 1

make: *** [miscutils] 错误 2


解决办法:

[root@cloud busybox-1.21.0]#make menuconfig

到如下“Miscellaneous Utilities  ---> ”选项下,去掉包含ubi的选项:

UBI(Unsorted Block Images)一种新型的Flash文件系统。

  | |                                           [ ] ubiattach                                                                                                     | |

  | |                                           [ ] ubidetach                                                                                                    | |

  | |                                           [ ] ubimkvol                                                                                                     | |

  | |                                           [ ] ubirmvol                                                                                                      | |

  | |                                           [ ] ubirsvol                                                                                                       | |

  | |                                           [ ] ubiupdatevol   

保存退出,并重新make即可。

原文地址:https://www.cnblogs.com/myiaas/p/4161366.html