当我在ubuntu OS(16)中使用我的配置时,似乎没有问题。我已经安装了autoconf工具和依赖项。
当我在ubuntu(16或最新版本)中运行相同的配置文件时问题是我没有安装任何autotools。我收到以下错误消息。
./configure: line 7022: /usr/bin/file: No such file or directory
这对构建过程无害。我只是想了解发生了什么。配置文件:
7022 case `/usr/bin/file conftest.o` in
7023 *32-bit*)
看起来我的docker没有/ usr / bin / file。哪个ubuntu软件包包含文件实用程序。找到有关' / usr / bin / file'的有用信息的问题该文件是如此常见的术语,找到更多信息并不容易。在我的带有文件实用程序的系统上,我可以从文件的手册页中获取以下信息:
AVAILABILITY
You can obtain the original author's latest version by anonymous FTP on ftp.astron.com in the direc‐
tory /pub/file/file-X.YZ.tar.gz.
我的问题:是' file'一个非常基本的实用程序或最近添加到autotolls包?我应该安装吗?
答案 0 :(得分:1)
GNU构建系统restricts the features configure
应该用于最大程度的兼容性,包括如何编写shell代码以及哪些utilities可供使用,以及您可以期待的功能那些公用事业。
file
在该列表中不,并且应该tested for与AC_PATH_PROG
(或类似的东西),所以这是包中的一个错误。即使configure
中的测试绝对需要file
才能获得AC_MSG_ERROR
说“安装文件程序”,最好是解码错误消息。
所以回答你的问题:
是'file'一个非常基本的实用程序,还是最近被添加到autotolls包中?
不,文件不是autotools的一部分,但它是一个非常常见的实用工具。基本可能不是描述file
的最佳形容词。
我应该安装吗?
你的configure
脚本依赖它,所以我想你必须这样做。
但它的用法有点愚蠢:大多数时候你可以从host triplet确定架构。此外,objdump
是标准编译器工具之一(objdump -f conftest.o
将显示类似的信息)。至少它将被安装。
答案 1 :(得分:0)
文件似乎源自BSD并且一直在发展(man文件)。这是一个难得的问题,我不期待任何答案。我正在尝试积累一些数据。经过一些侦探工作,我发现以下链接:
https://travis-ci.org/file/file github页面实现
unix文件命令:http://www.computerhope.com/unix/ufile.htm
wiki页面:https://en.wikipedia.org/wiki/File_(command)
根据Charles的建议,您应该通过包管理器安装文件包。对于ubuntu,包的链接是:https://launchpad.net/ubuntu/+source/file
不确定哪个来源是真实的实施。我不是操作系统专家,其他人请评论和更新。