我想要构建GNU grep,在运行make时,出现以下错误:
[snip]
/bin/bash: line 9: makeinfo: command not found
什么是makeinfo,如何获取?
(如果使用的是Ubuntu系统,可能会有所不同)
在Ubuntu中,当使用bash
时,如果您在路径中找不到命令,则会告诉您需要安装哪个软件包。我的终端显示需要安装“texinfo”软件包。
sudo apt-get install texinfo
$ makeinfo
,Ubuntu 将告诉你:程序 'makeinfo' 当前未安装。您可以通过输入以下命令进行安装: sudo apt-get install texinfo
- Tuminoidapt-file update && apt-file search makeinfo
在结果中,你将看到 texinfo: /usr/bin/makeinfo
。 - asciimocommand-not-found
,你可以使用 sudo apt-get install command-not-found
命令进行安装。 - Tuminoid对于Centos,我通过安装这些软件包解决了问题。
yum install texi2html texinfo
不用担心 makeinfo 没有条目。
只需运行。make all
你可以采用相似的方法,针对Ubuntu使用sudo
。
dnf config-manager --set-enabled powertools && dnf install texinfo
- Martin Cejpapt-file search makeinfo
)。它可能已经默认安装在您的发行版中,但它是一个很好的工具,可以确定文件属于哪个软件包。关于“什么是makeinfo”,以下是一些解释——其他答案已经很好地涵盖了“如何获得它”。
Texinfo手册的“创建Info文件”章节指出:
makeinfo
是一个将Texinfo文件转换为Info文件、HTML文件或纯文本的程序。
Texinfo主页解释说,Texinfo本身“是GNU项目的官方文档格式”,并且它“使用单个源文件生成多种格式的输出,包括在线和印刷品(dvi、html、info、pdf、xml等)”。
总之:Texinfo是一种文档源文件格式,而makeinfo
是将Texinfo格式的源文件转换为所需输出的程序。
需要安装texinfo。configure将仍然拥有其结果的缓存,因此它仍然会认为makeinfo丢失。从tar包中删除源文件并再次解压缩。运行configure然后进行编译。
sudo zypper install texinfo
apt-cache search texinfo
),即使apt-file search bin/makeinfo
也没有帮助,您可能需要为软件包管理器启用非自由/受限软件包。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
sudo $EDITOR /etc/apt/sources.list
命令并添加 non-free
。如果您不想在软件包数据库中混杂非免费内容,甚至可以使用 包级别的首选项。sudo apt-get update
命令后,您应该可以找到所需的软件包。
apt search makeinfo
#(或者yum search makeinfo
) - programandoconro