日期:2014-05-16  浏览次数:20758 次

red hat 下make menuconfig报告nurceses错误

问题: make menuconfig 无法执行。

现象: 当我在2.4.27内核上编译时候,当我按照网上知道更改了根目录文件下面的Makefile文件,指

定是arm体系结构的时候突然发现如下的报错。

make menuconfig
rm -f include/asm
( cd include ; ln -sf asm-arm asm)
make -C scripts/lxdialog all
make[1]: Entering directory `/home/armlinux/kernel nux-2.4.27/scripts/lxdialog'
/bin/sh: line 1: -lncurses:command not found

>;>; Unable to find the Ncurses libraries.
>;>;
>;>; You must have Ncurses installed in order
>;>; to use 'make menuconfig'

make[1]: *** [ncurses] Error 1
make[1]: Leaving directory `/home/armlinux/kernel nux-2.4.27/scripts/lxdialog'
make: *** [menuconfig] Error 2

解决尝试1:
  我认为是没有安装ncurses库,于是我到网上下载了ncurses-devel-5.3-4.i386.rpm和ncurses-

5.3-4.i386.rpm安装后在usr/lib库下面找到了libncurses.a libncurses.so libncurses.so.5 

libncurses.so.5.3几个文件,应该会死确定是安装成功的。但运行错误依然。

解决尝试2:
  由于我们这里有一台机器可以正常运行,于是我开始分析他的机器。为了模拟和我同样错误,我故

意到他的机器里面的/usr/lib目录删除了这几个库,结果报错如下:

make menuconfig
rm -f include/asm
( cd include ; ln -sf asm-arm asm)
make -C scripts/lxdialog all
make[1]: Entering directory `/home/armlinux/kernel nux-2.4.27/scripts/lxdialog'

usr/ bin/ ld:cannot find -lncurses  
collects:ld returned 1 exit status 

>;>; Unable to find the Ncurses libraries.
>;>;
>;>; You must have Ncurses installed in order
>;>; to use 'make menuconfig'

make[1]: *** [ncurses] Error 1
make[1]: Leaving directory `/home/armlinux/kernel nux-2.4.27/scripts/lxdialog'
make: *** [menuconfig] Error 2


对比后发现有所不同,在于我的机器是/binsh: line 1: -Incurses:command not found 而他的机器

是 usr/ bin/ ld:cannot find -lncurses collects:ld returned 1 exit status 

这时我到网上求助,一个网友给出如下判断:一个是提示-Incurses命令找不到,另外一个是提示-

lncurses collects这个集合找不到,你再找找原因吧 

我看了两个机器内核的版本其实是一致的。

接下来我又尝试把好机器的这些库拷贝到我的机器上,结果令我失望的是也失败了,我应该如何办和处

理呢。


这个问题已经困扰我好多天了,但怎么都解决不了。现在都急死我了,能否帮我分析一下?



------解决方案--------------------
make menuconfig需要主机开发平台的支持,
Ncurses scripts解析只是一个问题,
同时还需要其他的开发包99%的原因是你的主机开发环境安装有问题,
在Linux安装过程中需要手动选择某些开发包的,
默认是只安装部分的这也是区别于windows安装的地方,
很多嵌入式开发过程中需要用到的开发工具,包括各种服务器
如tftp、ftp、nfs、samba等都是需要手动选择的。
 
软件包选择画面,请根据需要进行选择。在保留默认(系统已经选定的项后),还要增加一些,比方说:KDE Desktop Environment、Editors、Engineering and Scientific、Server configuratio tools、Web server、Mail Server、Windows File Server、DNS Name Server、FTP Server、PostgreSQL、MySQL 、Database、News Server、Net Work Server、Development Tools、Languge Support(选中简体中文)、System Tools、Administration Tools等。
 
最好的方式就是重装系统。