什么是 makeinfo,我如何获得它?

Posted

技术标签:

【中文标题】什么是 makeinfo,我如何获得它?【英文标题】:What is makeinfo, and how do I get it? 【发布时间】:2010-09-25 04:43:45 【问题描述】:

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

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

什么是makeinfo,我如何获得它?

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

【问题讨论】:

对于那些来到这里想知道下面的主题专家如何找到这些东西的人:只需 apt-file search bin/makeinfo apt search makeinfo #(或yum search makeinfo) 【参考方案1】:

在(至少)Ubuntu 中,当使用bash 时,它会告诉您如果您输入一个命令并且在您的路径中找不到它,您需要安装什么包。我的终端说你需要安装 'texinfo' 包。

sudo apt-get install texinfo

【讨论】:

请注意,安装软件包是 sudo apt-get install texinfo。请注意,它是 teXinfo,而不是我一开始误读的 texTinfo。 只是为了说明 - 如何了解哪个包包含该实用程序?即,如果我只知道 makeinfo 这个名称,如何了解 texinfo。 你在终端$ makeinfo运行命令,Ubuntu会告诉你:he program 'makeinfo' is currently not installed. You can install it by typing: sudo apt-get install texinfo 如果你的shell没有像@Tuminoid那样给你神奇的提示,你可以安装apt-file并运行命令:apt-file update && apt-file search makeinfo在结果中你会看到texinfo: /usr/bin/makeinfo @egor7 告诉您缺少命令的实用程序称为command-not-found,您可以使用sudo apt-get install command-not-found 安装它。【参考方案2】:

需要安装texinfo。 configure 仍然会缓存它的结果,所以它仍然会认为 makeinfo 丢失了。吹走您的源并从 tarball 中再次解压它。运行configure然后make。

【讨论】:

【参考方案3】:

如果你从头开始构建包:

从这里下载一个版本:http://www.gnu.org/software/texinfo/ 在撰写本文时,版本 5.2 是最新的。 在这里了解如何构建:http://www.linuxfromscratch.org/lfs/view/stable/chapter05/texinfo.html LFS 项目不断更新,但 texinfo 构建/安装说明很少更改。

具体来说,如果您从源代码构建 bash,安装文档(包括手册页)将失败(静默)而没有 makeinfo 可用。

【讨论】:

【参考方案4】:

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

yum install texi2html texinfo 

如果没有 makeinfo 条目,请不要担心。 跑吧

make all

您可以使用 sudo 对 ubuntu 进行类似操作。

【讨论】:

texi2html 严格来说是不必要的。 (RHEL6+) texi2html 严格来说是不必要的。 (CentOS 7)。 CentOS / Rocky Linux 8:dnf config-manager --set-enabled powertools && dnf install texinfo【参考方案5】:

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

【讨论】:

【参考方案6】:

在 SuSE linux 上,您可以使用以下命令安装 'texinfo':

sudo zypper install texinfo

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

【讨论】:

【参考方案7】:

如果它没有出现在您的包管理器中(即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。如果你不想用非免费的东西弄乱包数据库,你甚至可以拥有preferences on package level。

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

【讨论】:

【参考方案8】:

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

Texinfo 手册的The section "Creating an Info File" 指出

makeinfo是一个将Texinfo文件转换为Info文件的程序, HTML 文件或纯文本。

Texinfo home page 解释说 Texinfo 本身“是 GNU 项目的官方文档格式”并且它“使用单个源文件生成多种格式的输出,包括在线和打印(dvi、html、info、pdf、xml 等)” .

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

【讨论】:

以上是关于什么是 makeinfo,我如何获得它?的主要内容,如果未能解决你的问题,请参考以下文章

makeinfo:未找到命令

ubuntu下如何查看哪个文件属于哪个安装包

makeinfo is missing on your system(转)

make打印隐含变量和隐含规则

如何在没有 root 权限的情况下安装 Perl 模块?

我如何获得日期();在 JavaScript 中显示时间对吗?