Make can't find curses.h

倾然丶 夕夏残阳落幕 提交于 2021-01-24 09:13:37

问题


I have this program called samtools (version 1.3) that is used for manipulating the files that you get from DNA sequencing experiments.

The downloaded program is contained in a folder. To set the program up I enter that folder in the terminal (on an ubuntu computer). I enter the commando "make".

it runs an prints what it does but terminates with the error message:

bam_tview_curses.o bam_tview_curses.c
bam_tview_curses.c:41:20: fatal error: curses.h: No such file or directory
 #include <curses.h>
                    ^
compilation terminated.
make: *** [bam_tview_curses.o] Error 1

My initial response (after searching the Internet) was that curses was not installed, and I tried to remedy that using sudo (apparently my user was not in the list of sudoers though.

So I tried to see if curses was already installed, after consulting the Internet I tried

ldconfig -p | grep ncurses

which gave the output:

libncursesw.so.5 (libc6,x86-64) => /lib/x86_64-linux-gnu/libncursesw.so.5
libncurses.so.5 (libc6,x86-64) => /lib/x86_64-linux-gnu/libncurses.so.5

I took this as curses was installed. But that leaves me at a loss what could have happened. But this should at least mean that curses are there right? I'm not very experianced using ubuntu or C programs (I took a smaller course in C long ago and whil I've used linux computers quite some I've mostly used the terminal for navigation)

Happy for Help!


回答1:


ncurses is a library used for programming terminal based applications. Ubuntu users (16.04.1-Ubuntu) should install "libncurses5-dev" and "libncursesw5-dev" packages :

sudo apt-get install libncurses5-dev libncursesw5-dev



回答2:


Most Linux distributions have the header files like curses.h in a seperate package, as they are only required for compiling. Saves some space for the 95% of users that will never need them.

I don't use Ubuntu, but usually those packages are denoted with a -dev or -devel postfix. Should be easy to find via your package manager. After installing the header files the compile should proceed, you might need to install header files for other packages, so take a close look at the output.




回答3:


only

sudo apt-get install libncurses-dev

worked for me.



来源:https://stackoverflow.com/questions/35216344/make-cant-find-curses-h

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!