linux 内核编译错误 make menuconfig 
[root@fedora /usr/src/kernels/2.6.21-1.3194.fc7-i686]#make menuconfig
HOSTCC scripts/kconfig/lxdialog/checklist.o
在包含自 scripts/kconfig/lxdialog/checklist.c:24 的文件中:
scripts/kconfig/lxdialog/dialog.h:32:20: 错误:curses.h:没有那个文件或目录
In file included from scripts/kconfig/lxdialog/checklist.c:24:
scripts/kconfig/lxdialog/dialog.h:97: 错误:expected specifier-qualifier-list before ‘chtype’
scripts/kconfig/lxdialog/dialog.h:187: 错误:expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/dialog.h:193: 错误:expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/dialog.h:195: 错误:expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/dialog.h:196: 错误:expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/dialog.h:197: 错误:expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/dialog.h:198: 错误:expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/dialog.h:200: 错误:expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/checklist.c:31: 错误:expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/checklist.c:59: 错误:expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/checklist.c:95: 错误:expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/checklist.c: 在函数 ‘dialog_checklist’ 中:
scripts/kconfig/lxdialog/checklist.c:116: 错误:‘WINDOW’ 未声明 (在此函数内第一次使用)
scripts/kconfig/lxdialog/checklist.c:116: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
scripts/kconfig/lxdialog/checklist.c:116: 错误:所在的函数内只报告一次。)
scripts/kconfig/lxdialog/checklist.c:116: 错误:‘dialog’ 未声明 (在此函数内第一次使用)
scripts/kconfig/lxdialog/checklist.c:116: 错误:‘list’ 未声明 (在此函数内第一次使用)
scripts/kconfig/lxdialog/checklist.c:116: 警告:逗号表达式的左操作数不起作用
scripts/kconfig/lxdialog/checklist.c:129: 警告:隐式声明函数 ‘getmaxy’
scripts/kconfig/lxdialog/checklist.c:129: 错误:‘stdscr’ 未声明 (在此函数内第一次使用)
scripts/kconfig/lxdialog/checklist.c:130: 错误:‘KEY_MAX’ 未声明 (在此函数内第一次使用)
scripts/kconfig/lxdialog/checklist.c:131: 警告:隐式声明函数 ‘getmaxx’
scripts/kconfig/lxdialog/checklist.c:137: 错误:‘COLS’ 未声明 (在此函数内第一次使用)
scripts/kconfig/lxdialog/checklist.c:138: 错误:‘LINES’ 未声明 (在此函数内第一次使用)
scripts/kconfig/lxdialog/checklist.c:140: 警告:隐式声明函数 ‘draw_shadow’
scripts/kconfig/lxdialog/checklist.c:142: 警告:隐式声明函数 ‘newwin’
scripts/kconfig/lxdialog/checklist.c:143: 警告:隐式声明函数 ‘keypad’
scripts/kconfig/lxdialog/checklist.c:143: 错误:‘TRUE’ 未声明 (在此函数内第一次使用)
scripts/kconfig/lxdialog/checklist.c:145: 警告:隐式声明函数 ‘draw_box’
scripts/kconfig/lxdialog/checklist.c:146: 错误:‘struct dialog_color’ 没有名为 ‘atr’ 的成员
scripts/kconfig/lxdialog/checklist.c:146: 错误:‘struct dialog_color’ 没有名为 ‘atr’ 的成员
scripts/kconfig/lxdialog/checklist.c:147: 警告:隐式声明函数 ‘wattrset’
scripts/kconfig/lxdialog/checklist.c:147: 错误:‘struct dialog_color’ 没有名为 ‘atr’ 的成员
scripts/kconfig/lxdialog/checklist.c:148: 警告:隐式声明函数 ‘mvwaddch’
scripts/kconfig/lxdialog/checklist.c:150: 警告:隐式声明函数 ‘waddch’
scripts/kconfig/lxdialog/checklist.c:151: 错误:‘struct dialog_color’ 没有名为 ‘atr’ 的成员
scripts/kconfig/lxdialog/checklist.c:154: 警告:隐式声明函数 ‘print_title’
scripts/kconfig/lxdialog/checklist.c:156: 错误:‘struct dialog_color’ 没有名为 ‘atr’ 的成员
scripts/kconfig/lxdialog/checklist.c:157: 警告:隐式声明函数 ‘print_autowrap’
scripts/kconfig/lxdialog/checklist.c:164: 警告:隐式声明函数 ‘subwin’
scripts/kconfig/lxdialog/checklist.c:171: 错误:‘struct dialog_color’ 没有名为 ‘atr’ 的成员
scripts/kconfig/lxdialog/checklist.c:171: 错误:‘struct dialog_color’ 没有名为 ‘atr’ 的成员
scripts/kconfig/lxdialog/checklist.c:189: 警告:隐式声明函数 ‘print_item’
scripts/kconfig/lxdialog/checklist.c:192: 警告:隐式声明函数 ‘print_arrows’
scripts/kconfig/lxdialog/checklist.c:195: 警告:隐式声明函数 ‘print_buttons’
scripts/kconfig/lxdialog/checklist.c:197: 警告:隐式声明函数 ‘wnoutrefresh’
scripts/kconfig/lxdialog/checklist.c:199: 警告:隐式声明函数 ‘doupdate’
scripts/kconfig/lxdialog/checklist.c:202: 警告:隐式声明函数 ‘wgetch’
scripts/kconfig/lxdialog/checklist.c:210: 错误:‘KEY_UP’ 未声明 (在此函数内第一次使用)
scripts/kconfig/lxdialog/checklist.c:210: 错误:‘KEY_DOWN’ 未声明 (在此函数内第一次使用)
scripts/kconfig/lxdialog/checklist.c:220: 错误:‘FALSE’ 未声明 (在此函数内第一次使用)
scripts/kconfig/lxdialog/checklist.c:221: 警告:隐式声明函数 ‘scrollok’
scripts/kconfig/lxdialog/checklist.c:222: 警告:隐式声明函数 ‘wscrl’
scripts/kconfig/lxdialog/checklist.c:232: 警告:隐式声明函数 ‘wrefresh’
scripts/kconfig/lxdialog/checklist.c:293: 警告:隐式声明函数 ‘delwin’
scripts/kconfig/lxdialog/checklist.c:297: 错误:‘KEY_LEFT’ 未声明 (在此函数内第一次使用)
scripts/kconfig/lxdialog/checklist.c:298: 错误:‘KEY_RIGHT’ 未声明 (在此函数内第一次使用)
scripts/kconfig/lxdialog/checklist.c:310: 警告:隐式声明函数 ‘on_key_esc’
scripts/kconfig/lxdialog/checklist.c:312: 错误:‘KEY_RESIZE’ 未声明 (在此函数内第一次使用)
make[1]: *** [scripts/kconfig/lxdialog/checklist.o] 错误 1
make: *** [menuconfig] 错误 2

解决方法:
安装ncurses-devel,这个是红帽或者FC的安装程序,Ubuntu的需要安装libncurses5-dev
 
[root@fedora /usr/src/kernels/2.6.21-1.3194.fc7-i686]#yum install -y ncurses-devel
Loading “installonlyn” plugin
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
–> Running transaction check
—> Package ncurses-devel.i386 0:5.6-9.20070812.fc7 set to be updated
Dependencies Resolved
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
ncurses-devel i386 5.6-9.20070812.fc7 updates 653 k
Transaction Summary
=============================================================================
Install 1 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 653 k
Downloading Packages:
(1/1): ncurses-devel-5.6- 100% |=========================| 653 kB 00:23
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: ncurses-devel ######################### [1/1]
Installed: ncurses-devel.i386 0:5.6-9.20070812.fc7
Complete!
 
  再运行make menuconfig    OK  问题解决!