RHEL5 make menuconfig 出现 error: curses.h: No such file or directory的解决方法

时间:2021-06-10 09:39:30

在使用命令:make menuconfig的时候出现以下问题

In file included from scripts/kconfig/lxdialog/checklist.c:24:scripts/kconfig/lxdialog/dialog.h:32:20: error: curses.h: No such file or directoryIn file included from scripts/kconfig/lxdialog/checklist.c:24:scripts/kconfig/lxdialog/dialog.h:97: error: expected specifier-qualifier-list before ‘chtype’scripts/kconfig/lxdialog/dialog.h:187: error: expected ‘)’ before ‘*’ tokenscripts/kconfig/lxdialog/dialog.h:194: error: expected ‘)’ before ‘*’ tokenscripts/kconfig/lxdialog/dialog.h:196: error: expected ‘)’ before ‘*’ tokenscripts/kconfig/lxdialog/dialog.h:197: error: expected ‘)’ before ‘*’ tokenscripts/kconfig/lxdialog/dialog.h:198: error: expected ‘)’ before ‘*’ tokenscripts/kconfig/lxdialog/dialog.h:199: error: expected ‘)’ before ‘*’ tokenscripts/kconfig/lxdialog/dialog.h:201: error: expected ‘)’ before ‘*’ tokenscripts/kconfig/lxdialog/checklist.c:31: error: expected ‘)’ before ‘*’ tokenscripts/kconfig/lxdialog/checklist.c:59: error: expected ‘)’ before ‘*’ tokenscripts/kconfig/lxdialog/checklist.c:95: error: expected ‘)’ before ‘*’ tokenscripts/kconfig/lxdialog/checklist.c: In function ‘dialog_checklist’:scripts/kconfig/lxdialog/checklist.c:116: error: ‘WINDOW’ undeclared (first use in this function)scripts/kconfig/lxdialog/checklist.c:116: error: (Each undeclared identifier is reported only oncescripts/kconfig/lxdialog/checklist.c:116: error: for each function it appears in.)scripts/kconfig/lxdialog/checklist.c:116: error: ‘dialog’ undeclared (first use in this function)scripts/kconfig/lxdialog/checklist.c:116: error: ‘list’ undeclared (first use in this function)scripts/kconfig/lxdialog/checklist.c:116: warning: left-hand operand of comma expression has no effectscripts/kconfig/lxdialog/checklist.c:129: warning: implicit declaration of function ‘getmaxy’scripts/kconfig/lxdialog/checklist.c:129: error: ‘stdscr’ undeclared (first use in this function)scripts/kconfig/lxdialog/checklist.c:130: error: ‘KEY_MAX’ undeclared (first use in this function)scripts/kconfig/lxdialog/checklist.c:131: warning: implicit declaration of function ‘getmaxx’scripts/kconfig/lxdialog/checklist.c:137: error: ‘COLS’ undeclared (first use in this function)scripts/kconfig/lxdialog/checklist.c:138: error: ‘LINES’ undeclared (first use in this function)scripts/kconfig/lxdialog/checklist.c:140: warning: implicit declaration of function ‘draw_shadow’scripts/kconfig/lxdialog/checklist.c:142: warning: implicit declaration of function ‘newwin’scripts/kconfig/lxdialog/checklist.c:143: warning: implicit declaration of function ‘keypad’scripts/kconfig/lxdialog/checklist.c:143: error: ‘TRUE’ undeclared (first use in this function)scripts/kconfig/lxdialog/checklist.c:145: warning: implicit declaration of function ‘draw_box’scripts/kconfig/lxdialog/checklist.c:146: error: ‘struct dialog_color’ has no member named ‘atr’scripts/kconfig/lxdialog/checklist.c:146: error: ‘struct dialog_color’ has no member named ‘atr’scripts/kconfig/lxdialog/checklist.c:147: warning: implicit declaration of function ‘wattrset’scripts/kconfig/lxdialog/checklist.c:147: error: ‘struct dialog_color’ has no member named ‘atr’scripts/kconfig/lxdialog/checklist.c:148: warning: implicit declaration of function ‘mvwaddch’scripts/kconfig/lxdialog/checklist.c:150: warning: implicit declaration of function ‘waddch’scripts/kconfig/lxdialog/checklist.c:151: error: ‘struct dialog_color’ has no member named ‘atr’scripts/kconfig/lxdialog/checklist.c:154: warning: implicit declaration of function ‘print_title’scripts/kconfig/lxdialog/checklist.c:156: error: ‘struct dialog_color’ has no member named ‘atr’scripts/kconfig/lxdialog/checklist.c:157: warning: implicit declaration of function ‘print_autowrap’scripts/kconfig/lxdialog/checklist.c:164: warning: implicit declaration of function ‘subwin’scripts/kconfig/lxdialog/checklist.c:171: error: ‘struct dialog_color’ has no member named ‘atr’scripts/kconfig/lxdialog/checklist.c:171: error: ‘struct dialog_color’ has no member named ‘atr’scripts/kconfig/lxdialog/checklist.c:189: warning: implicit declaration of function ‘print_item’scripts/kconfig/lxdialog/checklist.c:192: warning: implicit declaration of function ‘print_arrows’scripts/kconfig/lxdialog/checklist.c:195: warning: implicit declaration of function ‘print_buttons’scripts/kconfig/lxdialog/checklist.c:197: warning: implicit declaration of function ‘wnoutrefresh’scripts/kconfig/lxdialog/checklist.c:199: warning: implicit declaration of function ‘doupdate’scripts/kconfig/lxdialog/checklist.c:202: warning: implicit declaration of function ‘wgetch’scripts/kconfig/lxdialog/checklist.c:210: error: ‘KEY_UP’ undeclared (first use in this function)scripts/kconfig/lxdialog/checklist.c:210: error: ‘KEY_DOWN’ undeclared (first use in this function)scripts/kconfig/lxdialog/checklist.c:220: error: ‘FALSE’ undeclared (first use in this function)scripts/kconfig/lxdialog/checklist.c:221: warning: implicit declaration of function ‘scrollok’scripts/kconfig/lxdialog/checklist.c:222: warning: implicit declaration of function ‘wscrl’scripts/kconfig/lxdialog/checklist.c:232: warning: implicit declaration of function ‘wrefresh’scripts/kconfig/lxdialog/checklist.c:293: warning: implicit declaration of function ‘delwin’scripts/kconfig/lxdialog/checklist.c:297: error: ‘KEY_LEFT’ undeclared (first use in this function)scripts/kconfig/lxdialog/checklist.c:298: error: ‘KEY_RIGHT’ undeclared (first use in this function)scripts/kconfig/lxdialog/checklist.c:310: warning: implicit declaration of function ‘on_key_esc’scripts/kconfig/lxdialog/checklist.c:312: error: ‘KEY_RESIZE’ undeclared (first use in this function)make[1]: *** [scripts/kconfig/lxdialog/checklist.o] Error 1make: *** [menuconfig] Error 2


出现此问题的原因是缺少相关库,需要安装ncurses-devel-5.5-24.20060715.i386.rpm,根据系统的版本不同,库的名字可能不同

RHEL5中的解决方法:

相关的库在镜像中已经存在,我们直接获取安装即可

首先挂载CDROM,创建一个cdrom的目录,使用命令#mount  /dev/cdrom  cdrom/,出现mount: block device /dev/cdrom is write-protected, mounting read-only的打印,正常。

然后,使用命令#find  .  -name   "*curses*"  找到相关的库文件,

./Server/ncurses-5.5-24.20060715.i386.rpm
./Server/ncurses-devel-5.5-24.20060715.i386.rpm
./Server/php-ncurses-5.1.6-15.el5.i386.rpm


最后使用命令安装

[root@localhost cdrom]# rpm -ivh Server/ncurses-devel-5.5-24.20060715.i386.rpm 
warning: Server/ncurses-devel-5.5-24.20060715.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                ########################################### [100%]
   1:ncurses-devel          ########################################### [100%]
[root@localhost cdrom]# 


然后make menuconfig命令就可以正常工作了