カーネル再構築前に設定内容を確認した時に

以下のエラーが表示したので調査しました

/usr/bin/ld: scripts/kconfig/mconf.o: シンボル 'stdscr' への未定義参照です
/lib64/libtinfo.so.5: error adding symbols: DSO missing from command line
collect2: エラー: ld はステータス 1 で終了しました
make[1]: *** [scripts/kconfig/mconf] エラー 1
make: *** [menuconfig] エラー 2

 

解決方法

①.Makefileの編集

vi /usr/src/linux-4.4/scripts/kconfig/Makefile

変更前

HOST_EXTRACFLAGS += $(shell $(CONFIG_SHELL) $(check-lxdialog) -ccflags) \
-DLOCALE

変更後

HOST_EXTRACFLAGS += $(shell $(CONFIG_SHELL) $(check-lxdialog) -ccflags) \
-DLOCALE -I/usr/include/ncurses
HOST_LOADLIBES += -ltinfo -lncurses -L/usr/lib64/

162~164行目を修正する。

②.dialog.hの編集

vi /usr/src/linux-4.4/scripts/kconfig/lxdialog/dialog.h

変更前

#include CURSES_LOC

変更後

#include <ncurses.h>

38行目を編集する。

③.カーネルの場所に移動する。

cd /usr/src/linux-4.4

④.カーネルのコンフィギュレーションを実行する。

make menuconfig

無事にカーネルの設定画面が表示されました