Linux学习日志(8)- Linux 编译内核[scripts/kconfig/dochecklxdialog] 错误

本文介绍在Linux内核编译过程中遇到的ncurses库缺失问题及解决方案。通过安装ncurses-devel包,成功解决了makemenuconfig命令执行失败的问题,使内核配置窗口得以正常显示。

在编译linux内核时,当用输入命令make menuconfig 时弹出

mark@ubuntu:~/work/linux-3.2.0-psp04.06.00.08.sdk$ make menuconfig
 *** Unable to find the ncurses libraries orthe
 *** required header files.
 *** 'make menuconfig' requires the ncurseslibraries.
 ***
 *** Install ncurses (ncurses-devel) and tryagain.
 ***
/home/mark/work/linux-3.2.0-psp04.06.00.08.sdk/scripts/kconfig/Makefile:190:
recipe for target'scripts/kconfig/dochecklxdialog' failed
make[1]: *** [scripts/kconfig/dochecklxdialog]Error 1
Makefile:492: recipe for target'menuconfig' failed
make: *** [menuconfig] Error 2


图1 错误提示

根据提示,需要安装ncurses-devel,于是输入命令进行安装:

sudoapt-get install ncurses-dev

安装完成后,重新输入make menuconfig命令,问题解决,弹出内核配置窗口:

图2 内核编译窗口

       在网上查了一下,原来Ncurses是一个能提供功能键定义(快捷键),屏幕绘制以及基于文本终端的图形互动功能的动态库。

所以这就不难解释为何执行makemenuconfig命令需要ncurses了。

        Ncurses是一个能提供基于文本终端窗口功能的动态库,它可以做以下事情:

 使用整个屏幕
 创建和管理一个窗口
使用8种不同的彩色
为用户程序提供鼠标支持
可以使用键盘上的功能键
        Ncurses可以在任何遵循ANSI/POSIX标准的UNIX系统上运行,除此之外,它还可以从系统数据库中检测终端的属性, 并且自动进行调整,提供一个不受终端约束的接口.因此,Ncurses可以在不同的系统平台和不同的终端上工作的非常好。

 

原文链接:https://blog.youkuaiyun.com/ytfdhb/article/details/60959336

dawson@dawson:~/100ask_imx6ull-sdk/Linux-4.9.88$ sudo apt-get install libncurses5-dev 正在读取软件包列表... 完成 正在分析软件包的依赖关系树... 完成 正在读取状态信息... 完成 注意,选中 'libncurses-dev' 而非 'libncurses5-dev' libncurses-dev 已经是最新版 (6.5-2)。 升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 128 个软件包未被升级。 dawson@dawson:~/100ask_imx6ull-sdk/Linux-4.9.88$ make menuconfig *** Unable to find the ncurses libraries or the *** required header files. *** 'make menuconfig' requires the ncurses libraries. *** *** Install ncurses (ncurses-devel) and try again. *** make[1]: *** [scripts/kconfig/Makefile:201:scripts/kconfig/dochecklxdialog] 错误 1 make: *** [Makefile:543:menuconfig] 错误 2 dawson@dawson:~/100ask_imx6ull-sdk/Linux-4.9.88$ make -j4 scripts/kconfig/conf --silentoldconfig Kconfig CHK include/config/kernel.release CHK include/generated/uapi/linux/version.h CHK include/generated/utsrelease.h HOSTLD scripts/dtc/dtc /usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple definition of `yylloc'; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here collect2: error: ld returned 1 exit status make[2]: *** [scripts/Makefile.host:116:scripts/dtc/dtc] 错误 1 make[1]: *** [scripts/Makefile.build:544:scripts/dtc] 错误 2 make: *** [Makefile:557:scripts] 错误 2 make: *** 正在等待未完成的任务.... dawson@dawson:~/100ask_imx6ull-sdk/Linux-4.9.88$
最新发布
09-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值