Linux內核編譯時錯誤

Linux內核剪裁編譯時出來錯誤,如下

[root@yang linux-2.6.24.4]# make menuconfig
make: Warning: File `/UP-Magic/exp/kernel/linux-2.6.24.4/arch/arm/Makefile' has                                                                               modification time 3.8e+08 s in the future
make[1]: Warning: File `scripts/Makefile.host' has modification time 3.8e+08 s i                                                                              n the future
  HOSTCC  scripts/basic/fixdep
scripts/basic/fixdep.c: 在函數‘traps’中:
scripts/basic/fixdep.c:377: 警告:提領類型雙關的指針將破壞強重疊規則
scripts/basic/fixdep.c:379: 警告:提領類型雙關的指針將破壞強重疊規則
  HOSTCC  scripts/basic/docproc
make[1]: 警告:檢測到時鐘錯誤。您的創建可能是不完整的。
make[1]: Warning: File `scripts/Makefile.host' has modification time 3.8e+08 s i                                                                              n the future
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/kxgettext.o
  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 be                                                                              fore ‘chtype’
scripts/kconfig/lxdialog/dialog.h:187: 錯誤:expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/dialog.h:194: 錯誤: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:199: 錯誤:expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/dialog.h:201: 錯誤: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’沒有名爲‘at                                                                              r’的成員
scripts/kconfig/lxdialog/checklist.c:146: 錯誤:‘struct dialog_color’沒有名爲‘at                                                                              r’的成員
scripts/kconfig/lxdialog/checklist.c:147: 警告:隱式聲明函數‘wattrset’
scripts/kconfig/lxdialog/checklist.c:147: 錯誤:‘struct dialog_color’沒有名爲‘at                                                                              r’的成員
scripts/kconfig/lxdialog/checklist.c:148: 警告:隱式聲明函數‘mvwaddch’
scripts/kconfig/lxdialog/checklist.c:150: 警告:隱式聲明函數‘waddch’
scripts/kconfig/lxdialog/checklist.c:151: 錯誤:‘struct dialog_color’沒有名爲‘at                                                                              r’的成員
scripts/kconfig/lxdialog/checklist.c:154: 警告:隱式聲明函數‘print_title’
scripts/kconfig/lxdialog/checklist.c:156: 錯誤:‘struct dialog_color’沒有名爲‘at                                                                              r’的成員
scripts/kconfig/lxdialog/checklist.c:157: 警告:隱式聲明函數‘print_autowrap’
scripts/kconfig/lxdialog/checklist.c:164: 警告:隱式聲明函數‘subwin’
scripts/kconfig/lxdialog/checklist.c:171: 錯誤:‘struct dialog_color’沒有名爲‘at                                                                              r’的成員
scripts/kconfig/lxdialog/checklist.c:171: 錯誤:‘struct dialog_color’沒有名爲‘at                                                                              r’的成員
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

解決方法:

1. 安裝ncurses-devel,這個是紅帽或者FC的安裝程序,Ubuntu的需要安裝libncurses5-dev

本人是 Redhat6.0,直接到光盤鏡像裏選擇包安裝便OK
[root@yang /]# mount /dev/cdrom /mnt
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@yang /]# cd /mnt/Packages/
[root@yang Packages]# ls ncur*
ncurses-5.7-3.20090208.el6.i686.rpm       ncurses-devel-5.7-3.20090208.el6.i686.
ncurses-base-5.7-3.20090208.el6.i686.rpm  ncurses-libs-5.7-3.20090208.el6.i686.r
[root@yang Packages]# rpm -ivh ncurses-devel-5.7-3.20090208.el6.i686.rpm
warning: ncurses-devel-5.7-3.20090208.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                ########################################### [100%]
   1:ncurses-devel          ########################################### [100%]
[root@yang Packages]#

2.同時出現時鐘檢測錯
make[1]: 警告:檢測到時鐘錯誤。您的創建可能是不完整的。
解決方法:
[root@yang linux-2.6.24.4]# find . -type f -exec touch {} \;


發佈了58 篇原創文章 · 獲贊 24 · 訪問量 32萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章