我在使用Busybox编译最下系统,执行
make menuconfig指令的时候报错。
1.报错信息:
HOSTCC scripts/basic/fixdep
HOSTCC scripts/basic/split-include
scripts/basic/split-include.c: In function ‘main’:
scripts/basic/split-include.c:134:6: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result]
fgets(old_line, buffer_size, fp_target);
^
HOSTCC scripts/basic/docproc
GEN include/applets.h
GEN include/usage.h
GEN loginutils/Kbuild
GEN loginutils/Config.in
GEN printutils/Kbuild
GEN printutils/Config.in
GEN sysklogd/Kbuild
GEN sysklogd/Config.in
GEN applets/Kbuild
GEN networking/Kbuild
GEN networking/Config.in
GEN networking/udhcp/Kbuild
GEN networking/udhcp/Config.in
GEN networking/libiproute/Kbuild
GEN scripts/Kbuild
GEN procps/Kbuild
GEN procps/Config.in
GEN mailutils/Kbuild
GEN mailutils/Config.in
GEN libbb/Kbuild
GEN libbb/Config.in
GEN libpwdgrp/Kbuild
GEN coreutils/Kbuild
GEN coreutils/Config.in
GEN coreutils/libcoreutils/Kbuild
GEN shell/Kbuild
GEN shell/Config.in
GEN editors/Kbuild
GEN editors/Config.in
GEN selinux/Kbuild
GEN selinux/Config.in
GEN modutils/Kbuild
GEN modutils/Config.in
GEN runit/Kbuild
GEN runit/Config.in
GEN init/Kbuild
GEN init/Config.in
GEN util-linux/Kbuild
GEN util-linux/Config.in
GEN util-linux/volume_id/Kbuild
GEN util-linux/volume_id/Config.in
GEN e2fsprogs/Kbuild
GEN e2fsprogs/Config.in
GEN e2fsprogs/old_e2fsprogs/Kbuild
GEN e2fsprogs/old_e2fsprogs/Config.in
GEN e2fsprogs/old_e2fsprogs/uuid/Kbuild
GEN e2fsprogs/old_e2fsprogs/ext2fs/Kbuild
GEN e2fsprogs/old_e2fsprogs/e2p/Kbuild
GEN e2fsprogs/old_e2fsprogs/blkid/Kbuild
GEN archival/Kbuild
GEN archival/Config.in
GEN archival/libarchive/Kbuild
GEN findutils/Kbuild
GEN findutils/Config.in
GEN console-tools/Kbuild
GEN console-tools/Config.in
GEN miscutils/Kbuild
GEN miscutils/Config.in
GEN debianutils/Kbuild
GEN debianutils/Config.in
HOSTCC scripts/kconfig/conf.o
scripts/kconfig/conf.c: In function ‘conf_askvalue’:
scripts/kconfig/conf.c:106:3: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result]
fgets(line, 128, stdin);
^
scripts/kconfig/conf.c: In function ‘conf_choice’:
scripts/kconfig/conf.c:354:4: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result]
fgets(line, 128, stdin);
^
HOSTCC scripts/kconfig/kxgettext.o
HOSTCC scripts/kconfig/mconf.o
scripts/kconfig/mconf.c: In function ‘show_textbox’:
scripts/kconfig/mconf.c:847:2: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
write(fd, text, strlen(text));
^
scripts/kconfig/mconf.c: In function ‘exec_conf’:
scripts/kconfig/mconf.c:481:2: warning: ignoring return value of ‘pipe’, declared with attribute warn_unused_result [-Wunused-result]
pipe(pipefd);
^
SHIPPED scripts/kconfig/zconf.tab.c
SHIPPED scripts/kconfig/lex.zconf.c
SHIPPED scripts/kconfig/zconf.hash.c
HOSTCC scripts/kconfig/zconf.tab.o
In file included from scripts/kconfig/zconf.tab.c:152:0:
scripts/kconfig/zconf.hash.c:155:43: warning: ‘kconf_id_strings_contents’ is static but used in inline function ‘kconf_id_lookup’ which is not static
#define kconf_id_strings ((const char *) &kconf_id_strings_contents)
^
scripts/kconfig/zconf.hash.c:222:44: note: in expansion of macro ‘kconf_id_strings’
register const char *s = o + kconf_id_strings;
^
scripts/kconfig/zconf.hash.c:215:26: warning: ‘kconf_id_hash’ is static but used in inline function ‘kconf_id_lookup’ which is not static
register int key = kconf_id_hash (str, len);
^
scripts/kconfig/zconf.hash.c:171:26: warning: ‘wordlist’ is static but declared in inline function ‘kconf_id_lookup’ which is not static
static struct kconf_id wordlist[] =
^
HOSTLD scripts/kconfig/mconf
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: No such file or directory
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/luatao/4412_test/miniLinux/busybox-1.22.1/scripts/kconfig/Makefile:14: recipe for target ‘menuconfig’ failed
make[1]: *** [menuconfig] Error 2
Makefile:443: recipe for target ‘menuconfig’ failed
make: *** [menuconfig] Error 2
或者报错信息是
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: No such file or directory
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/luatao/4412_test/miniLinux/busybox-1.22.1/scripts/kconfig/Makefile:14: recipe for target ‘menuconfig’ failed
make[1]: *** [menuconfig] Error 2
Makefile:443: recipe for target ‘menuconfig’ failed
make: *** [menuconfig] Error 2
2.解决方法:
这是因为我们缺少依赖库
sudo apt-get install libncurses5-dev
再次执行
make menuconfig
成功。