Ubuntu环境下busybox编译报错处理
从Internet上下载的busybox源码:busybox-1.17.2.tar.bz2
解压:
$tar -xvf busybox-1.17.2.tar.bz2
$cd busybox-1.17.2
修改配置:
xxx@ubuntu:~/nfs/busybox-1.17.2$ make defconfig
xxx@ubuntu:~/nfs/busybox-1.17.2$ make menuconfig
HOSTCC scripts/kconfig/lxdialog/checklist.o
In file included from scripts/kconfig/lxdialog/checklist.c:24:0:
scripts/kconfig/lxdialog/dialog.h:31:20: fatal error: curses.h: 没有那个文件或目录
compilation terminated.
scripts/Makefile.host:120: recipe for target 'scripts/kconfig/lxdialog/checklist.o' failed
make[2]: *** [scripts/kconfig/lxdialog/checklist.o] Error 1
/home/mcy/nfs/busybox-1.17.2/scripts/kconfig/Makefile:14: recipe for target 'menuconfig' failed
make[1]: *** [menuconfig] Error 2
Makefile:442: recipe for target 'menuconfig' failed
make: *** [menuconfig] Error 2
报错解决方法:
xxx@ubuntu:~/nfs/busybox-1.17.2$ sudo apt-get install libncurses5-dev libncursesw5-dev
解决关于锁的问题:
E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)
E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?
解决方法:
强制解锁:
xxx@ubuntu:~/nfs/busybox-1.17.2$ sudo rm /var/cache/apt/archives/lock
xxx@ubuntu:~/nfs/busybox-1.17.2$ sudo rm /var/lib/dpkg/lock
xxx@ubuntu:~/nfs/busybox-1.17.2$ sudo apt-get install libncurses5-dev libncursesw5-dev
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了:
linux-headers-4.4.0-31 linux-headers-4.4.0-31-generic linux-image-4.4.0-31-generic linux-image-extra-4.4.0-31-generic
使用'sudo apt autoremove'来卸载它(它们)。
将会同时安装下列软件:
libtinfo-dev
建议安装:
ncurses-doc
下列【新】软件包将被安装:
libncurses5-dev libncursesw5-dev libtinfo-dev
升级了 0 个软件包,新安装了 3 个软件包,要卸载 0 个软件包,有 93 个软件包未被升级。
需要下载 450 kB 的归档。
解压缩后会消耗 2,642 kB 的额外空间。
您希望继续执行吗? [Y/n] y
获取:1 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 libtinfo-dev amd64 6.0+20160213-1ubuntu1 [77.4 kB]
获取:2 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 libncurses5-dev amd64 6.0+20160213-1ubuntu1 [175 kB]
获取:3 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 libncursesw5-dev amd64 6.0+20160213-1ubuntu1 [198 kB]
已下载 450 kB,耗时 3秒 (117 kB/s)
正在选中未选择的软件包 libtinfo-dev:amd64。
(正在读取数据库 ... 系统当前共安装有 224214 个文件和目录。)
正准备解包 .../libtinfo-dev_6.0+20160213-1ubuntu1_amd64.deb ...
正在解包 libtinfo-dev:amd64 (6.0+20160213-1ubuntu1) ...
正在选中未选择的软件包 libncurses5-dev:amd64。
正准备解包 .../libncurses5-dev_6.0+20160213-1ubuntu1_amd64.deb ...
正在解包 libncurses5-dev:amd64 (6.0+20160213-1ubuntu1) ...
正在选中未选择的软件包 libncursesw5-dev:amd64。
正准备解包 .../libncursesw5-dev_6.0+20160213-1ubuntu1_amd64.deb ...
正在解包 libncursesw5-dev:amd64 (6.0+20160213-1ubuntu1) ...
正在处理用于 man-db (2.7.5-1) 的触发器 ...
正在设置 libtinfo-dev:amd64 (6.0+20160213-1ubuntu1) ...
正在设置 libncurses5-dev:amd64 (6.0+20160213-1ubuntu1) ...
正在设置 libncursesw5-dev:amd64 (6.0+20160213-1ubuntu1) ...
再进行busybox参数配置:
make defconfig
make menuconfig