我正在尝试构建 GNU grep,当我运行 make 时,我得到:
[snip]
/bin/bash: line 9: makeinfo: command not found
什么是 makeinfo,我如何获得它?
(这是 Ubuntu,如果它有所作为)
在(至少)Ubuntu中使用时bash
,它会告诉您如果您输入命令并且在您的路径中找不到它,您需要安装什么包。我的终端说你需要安装 'texinfo' 包。
sudo apt-get install texinfo
对于 Centos ,我通过安装这些软件包来解决它。
yum install texi2html texinfo
如果没有 makeinfo 条目,请不要担心。赶紧跑
make all
您可以使用类似的方式为 ubuntu 执行此操作sudo
。
另一种选择是使用 apt-file (ie apt-file search makeinfo
)。默认情况下,它可能会或可能不会安装在您的发行版中,但它是确定文件属于哪个包的好工具。
需要安装texinfo。configure 仍然会缓存它的结果,所以它仍然会认为 makeinfo 丢失了。吹走您的源并从 tarball 中再次解压它。运行配置然后制作。
如果您从头开始构建包:
具体来说,如果您bash
从源代码构建,安装文档,包括手册页,将失败(静默)没有makeinfo
可用。
关于“什么是makeinfo”的几句话-其他答案很好地涵盖了“我如何得到它”。
makeinfo
是一个将 Texinfo 文件转换为 Info 文件、HTML 文件或纯文本的程序。
Texinfo 主页解释说,Texinfo 本身“是 GNU 项目的官方文档格式”,并且它“使用单个源文件生成多种格式的输出,包括在线和打印格式(dvi、html、info、pdf、 xml 等)”。
总结一下:Texinfo 是一种文档源文件格式,makeinfo
是将 Texinfo 格式的源文件转换为所需输出的程序。
在 SuSE linux 上,您可以使用以下命令安装 'texinfo':
sudo zypper install texinfo
在我的系统上,它显示正在下载大约 1000 MiB,因此请确保您有足够的可用空间。
如果它没有出现在您的包管理器(即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
. 如果你不想用非免费的东西弄乱包数据库,你甚至可以在包级别上有偏好。
之后,sudo apt-get udpate
您应该找到所需的包。