8

我有一个名为 samtools(1.3 版)的程序,用于处理从 DNA 测序实验中获得的文件。

下载的程序包含在一个文件夹中。要设置程序,我在终端中输入该文件夹(在 ubuntu 计算机上)。我进入突击队“make”。

它运行打印它所做的事情,但以错误消息终止:

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

我最初的反应(搜索互联网后)是没有安装 curses,我尝试使用 sudo 来解决这个问题(但显然我的用户不在 sudoers 列表中。

所以我尝试查看是否已经安装了curses,在咨询了互联网后我尝试了

ldconfig -p | grep ncurses

这给出了输出:

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

我把它当作安装了诅咒。但这让我不知所措。但这至少应该意味着诅咒存在吧?我对使用 ubuntu 或 C 程序不是很有经验(很久以前我在 C 中学习过一个较小的课程,虽然我使用过很多 linux 计算机,但我主要使用终端进行导航)

乐于助人!

4

3 回答 3

17

只要

sudo apt-get install libncurses-dev

为我工作。

于 2020-07-16T07:51:22.097 回答
7

ncurses 是一个用于对基于终端的应用程序进行编程的库。Ubuntu 用户(16.04.1-Ubuntu)应安装“ libncurses5-dev ”和“ libncursesw5-dev ”软件包:

sudo apt-get install libncurses5-dev libncursesw5-dev
于 2017-08-25T07:58:48.640 回答
2

大多数 Linux 发行版都有头文件,就像curses.h在单独的包中一样,因为它们仅在编译时需要。为 95% 永远不需要它们的用户节省一些空间。

我不使用 Ubuntu,但通常这些包用 a-dev-devel后缀表示。通过你的包管理器应该很容易找到。安装头文件后编译应该继续,您可能需要为其他包安装头文件,因此请仔细查看输出。

于 2016-02-05T05:01:44.837 回答