什么是makeinfo,如何获取它?

我正在尝试构建GNU grep,当我运行make时,我得到:

[snip]
/bin/bash: line 9: makeinfo: command not found

什么是makeinfo,如何获取它?

(这是Ubuntu,如果它有区别的话)

296812 次浏览

在(至少)Ubuntu中,当使用bash时,它会告诉你需要安装哪个包,如果你输入一个命令,但在你的路径中没有找到它。我的终端显示你需要安装“texinfo”包。

sudo apt-get install texinfo

需要安装texinfo。Configure仍然会缓存它的结果,所以它仍然会认为makeinfo缺失。删除源代码并从压缩包中重新解压它。运行configure,然后make。

如果你从头开始构建包:

对于Centos,我通过安装这些包来解决这个问题。

yum install texi2html texinfo
如果没有makeinfo条目,请不要担心。 只需执行

make all

你可以使用sudo为ubuntu做类似的事情。

另一个选项是使用apt-file(即apt-file search makeinfo)。默认情况下,它可能会安装在你的发行版中,也可能不会安装,但它是一个很好的工具,可以确定一个文件属于哪个包。

在SuSE linux下,可以使用以下命令安装“texinfo”:

sudo zypper install texinfo

在我的系统上,它显示正在下载大约1000mib,因此请确保您有足够的空闲空间。

如果它没有在你的包管理器中显示(即apt-cache search texinfo),甚至apt-file search bin/makeinfo也没有帮助,你可能必须为你的包管理器启用非自由/受限包。

对于ubuntu, sudo $EDITOR /etc/apt/sources.list和添加restricted

deb http://archive.ubuntu.com/ubuntu bionic main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu bionic-security main
deb http://archive.ubuntu.com/ubuntu bionic-updates main

对于debian, sudo $EDITOR /etc/apt/sources.list并添加non-free。你甚至可以有包级别的首选项,如果你不想用非自由的东西使包db杂乱。

sudo apt-get udpate之后,你应该找到所需的包。

关于“什么是makeinfo”的几句话——其他答案包括“我如何得到它”。

Texinfo手册的“创建信息文件”部分声明

makeinfo是一个将Texinfo文件转换为Info文件的程序,

. HTML文件或纯文本
Texinfo主页解释了这一点 Texinfo本身“是GNU项目的官方文档格式”,它“使用单一的源文件产生多种格式的输出,包括在线和打印格式(dvi, html, info, pdf, xml,等等)”

总而言之:Texinfo是一种文档源文件格式,makeinfo是将Texinfo格式的源文件转换为所需输出的程序。