Unable to find the ncurses libraries or the required header files

进入内核目录,编译内核,执行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.
 ***
scripts/kconfig/Makefile:202: recipe for target 'scripts/kconfig/dochecklxdialog' failed
make[1]: *** [scripts/kconfig/dochecklxdialog] Error 1
Makefile:520: recipe for target 'menuconfig' failed
make: *** [menuconfig] Error 2

但是我肯定是装了ncurses的,使用dpkg --get-selections |grep ncurse查看:
在这里插入图片描述
可以确认,ncurses确实安装了。

但是配置内核的时候,就是提示没装,后来,看了供应商给的内核编译命令,在执行make menuconfig之前还有两条命令:

unset LDFLAGS
unset PKG_CONFIG_PATH

我照做之后,顺利的就可以进入到配置内核的界面了。
虽然这个问题解决了,但是由于它困扰了我很久,所以我决定看看为什么这两个环境变量会导致找不到ncurses,于是我exit退出命令行,然后重新进命令行,这次没用unset命令,并且打印了这两个环境变量的值:

echo $LDFLAGS
-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed
echo $PKG_CONFIG_PATH
/opt/ros/kinetic/lib/pkgconfig:/opt/ros/kinetic/lib/x86_64-linux-gnu/pkgconfig:/opt/fsl-imx-xwayland/4.14-sumo/sysroots/aarch64-poky-linux/usr/lib/pkgconfig:/opt/fsl-imx-xwayland/4.14-sumo/sysroots/aarch64-poky-linux/usr/share/pkgconfig

既然是找不到,那么可能是和路径有关,于是我先把PKG_CONFIG_PATH的值清空,再看看还找得到不:

unset PKG_CONFIG_PATH

果然,把这个环境变量清空之后,就可以编译了,和LDFLAGS无关。

那还是有疑问,为啥PKG_CONFIG_PATH的值会导致找不到ncurses呢?

至于原因是什么,我还没想清楚,有哪位往右清除的,请在评论区留言。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值