Linux Error: curses.h: No such file or directory Problem Solution

Posted on in Categories , , , last updated October 8, 2016

I see the following error when I run make command to install specific software:

curses.h: No such file or directory Problem Solution

How do I fix this error under Red Hat Enterprise Linux (RHEL) or CentOS / Fedora Linux?

You need to install the curses library which include routines for 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.

Fix this error on RHEL / Fedora / CentOS Linux

Type the following yum command at a shell prompt as root user:
# yum install ncurses-devel ncurses
Sample output:

Loading "downloadonly" plugin
Loading "rhnplugin" plugin
Loading "security" plugin
rhel-x86_64-server-vt-5   100% |=========================| 1.2 kB    00:00     
rhel-x86_64-server-5      100% |=========================| 1.2 kB    00:00     
Setting up Install Process
Parsing package install arguments
Package ncurses - 5.5-24.20060715.x86_64 is already installed.
Package ncurses - 5.5-24.20060715.i386 is already installed.
Resolving Dependencies
--> Running transaction check
---> Package ncurses-devel.x86_64 0:5.5-24.20060715 set to be updated
---> Package ncurses-devel.i386 0:5.5-24.20060715 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size 
=============================================================================
Installing:
 ncurses-devel           x86_64     5.5-24.20060715  rhel-x86_64-server-5  1.7 M
 ncurses-devel           i386       5.5-24.20060715  rhel-x86_64-server-5  1.6 M

Transaction Summary
=============================================================================
Install      2 Package(s)         
Update       0 Package(s)         
Remove       0 Package(s)         

Total download size: 3.3 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): ncurses-devel-5.5- 100% |=========================| 1.6 MB    00:01     
(2/2): ncurses-devel-5.5- 100% |=========================| 1.7 MB    00:01     
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: ncurses-devel                ######################### [1/2] 
  Installing: ncurses-devel                ######################### [2/2] 

Installed: ncurses-devel.x86_64 0:5.5-24.20060715 ncurses-devel.i386 0:5.5-24.20060715
Complete!

Fix this error on Debian / Ubuntu Linux

Open terminal and type the following apt-get command to install ncurses:
$ sudo apt-get install libncurses5-dev libncursesw5-dev

Now you should able to compile any program under Linux using ncurses. Here is a sample command to compile and use ncurses:
$ gcc -o output input.c -lncurses
$ ./output

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

21 comment

  1. I installed libncursesw5-dev in ubuntu by using
    $ sudo apt-get install libncurses5-dev libncursesw5-dev
    command and also checked in synaptic package manager but I’m still facing the same problem when I’m going to compile in gcc.

    1. Oh! Perhaps the setings of curses on your computer hadn’t been set to use ncurses lib automaticly. You may use ” ls -l /usr/include/curses.h” to check this. If curses.h is not a link to ncurses.h (or ncurses.h is not a link to curses.h), you need to add ” -I /usr/include/ncurses ” to use lib ncurses forcely.

  2. When I’m trying this “sudo apt-get install libncurses5-dev libncursesw5-dev”
    the follwoing error occur;

    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    E: Unable to locate package libncruses5-dev
    E: Unable to locate package libncrusesw5-dev

  3. $ which ncurses

    /usr/bin/which: no ncurses in (/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/db667u/bin:/usr/bin)

    $ rpm -qa|grep ncurses

    ncurses-5.7-3.20090208.el6.x86_64 
    ncurses-base-5.7-3.20090208.el6.x86_64 
    ncurses-libs-5.7-3.20090208.el6.i686 
    ncurses-libs-5.7-3.20090208.el6.x86_64 

    Looks ncurses is installed but still am not able to run it, anybody can help me please?

  4. i have tried to run that yum command but i am still getting this error .
    Loaded plugins: refresh-packagekit, rhnplugin
    This system is not registered with RHN.
    RHN support will be disabled.
    Setting up Install Process
    No package ncurses-devel available.
    Nothing to do
    plz help me . i am trying but nothing is helping me .
    i am using red hat .

  5. i have also used sudo command but it is not working . i having this error . i entered my password for user then got this error my user is waleed .
    waleed is not in the sudoers file. This incident will be reported..
    help needed urgently .

    1. You aren’t allowed to install software. If you are the owner of this computer, that’s a serious problem: you’ll need to get it fixed. More likely, you don’t own the computer, so you need to ask the owner/technician/etc to install it for you.

Leave a Comment