Re: kernel compilation: ncurses issue

amit mehta_2
Regular Advisor

kernel compilation: ncurses issue


While trying to build the linux kernel -,
i get the following error message during initial phase(make menuconfig) :
scripts/kconfig/lxdialog/dialog.h:32:20: error: curses.h: No such file or directory <===
In file included from scripts/kconfig/lxdialog/checklist.c:24:

It seems that something is wrong with 'ncurses'

#include CURSES_LOC

# Where is ncurses.h?
if [ -f /usr/include/ncurses/ncurses.h ]; then
echo '-I/usr/include/ncurses -DCURSES_LOC=""'
elif [ -f /usr/include/ncurses/curses.h ]; then
echo '-I/usr/include/ncurses -DCURSES_LOC=""'
elif [ -f /usr/include/ncurses.h ]; then
echo '-DCURSES_LOC=""'
echo '-DCURSES_LOC=""'

After looking into the /usr/include directory , i got to know that the header ncurses.h is absent

On the same machine,i could see an rpm by the name "ncurses-5.5-24.20060715"
[amit@localhost include]$ rpm -qa|grep -i ncurses

[amit@localhost include]$ rpm -qi ncurses-5.5-24.20060715
Name : ncurses Relocations: (not relocatable)
Version : 5.5 Vendor: Red Hat, Inc.
Release : 24.20060715 Build Date: Thu 31 Aug 2006 05:41:08 PM IST
Install Date: Thu 07 Feb 2008 08:30:07 PM IST Build Host:
Group : System Environment/Libraries Source RPM: ncurses-5.5-24.20060715.src.rpm
Size : 2829883 License: distributable
Signature : DSA/SHA1, Thu 18 Jan 2007 09:40:59 PM IST, Key ID 5326810137017186
Packager : Red Hat, Inc. <>
URL : NCURSES - New Curses
Summary : A terminal handling library
Description :
The curses library routines are a terminal-independent method of
updating character screens with reasonable optimization. The ncurses
(new curses) library is a freely distributable replacement for the
discontinued 4.4 BSD classic curses library.

i tried to install the latest ncurses(version 5.6) downloaded from the site:, but this also failed during the 'make' step

Now to configure the kernel, i can go through the .config file and edit the parameters there,
but this would be really a tedious job(though heard that most of the programmers prefer this)

One guy asked me to install the development library,and while doing the same,following issues creeped up

I tried a lot to find the ncurses-development library for version 5.5 for Redhat 5 over net,but could not

[root@localhost ]# rpm -qa|grep -i *ncurses*

[root@localhost ]# locate

on Debian, i guess the package manager is "synaptic", but what is the packet manager over here(redhat 5)?
i also tried to remove the "ncurses-5.5-24.20060715" which gave me a lot of dependecies issues
[root@localhost ]# rpm -e ncurses-5.5-24.20060715
error: Failed dependencies: is needed by (installed) info-4.8-14.el5.i386 is needed by (installed) procps-3.2.7-8.1.el5.i386 is needed by (installed) sqlite-3.3.6-2.i386 is needed by (installed) crash-4.0-3.14.i386
so should i go ahead with removing the "ncurses-5.5-24.20060715" and install the latest version,i.e. Version ncurses 5.6 and corrosponding development library ? will there be any bad impact on dependents ?

Honored Contributor

Re: kernel compilation: ncurses issue

Don't remove the existing ncurses package. Removing it will break all programs that use ncurses.

You're missing the _development headers_ package for ncurses. It's usually named like "ncurses-dev".

It is packaged separately so that you won't need to install the development header files (=lots of small files) if you never compile any software.

The package manager of RedHat Enterprise Linux 5 is "yum". If you use it to request the installation of any package, it should be able to download it from the RedHat Network automatically... assuming your system is registered with RHN.