autoconf configure警告:/ usr / bin / file:没有这样的文件或目录

时间:2017-01-30 22:31:34

标签: ubuntu docker configure autoconf

当我在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包?我应该安装吗?

2 个答案:

答案 0 :(得分:1)

GNU构建系统restricts the features configure应该用于最大程度的兼容性,包括如何编写shell代码以及哪些utilities可供使用,以及您可以期待的功能那些公用事业。

file在该列表中,并且应该tested forAC_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

不确定哪个来源是真实的实施。我不是操作系统专家,其他人请评论和更新。