autoconf 配置警告:/usr/bin/file:没有那个文件或目录

autoconf configure warning: /usr/bin/file: No such file or directory

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

文件似乎起源于 BSD 并且一直在发展(man 文件)。这是一个罕见的问题,我不期待任何答案。我正在尝试积累一些数据。经过一些侦探工作,我发现以下 link:

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,包的 link 是:https://launchpad.net/ubuntu/+source/file

不确定哪个来源是真实的实现。我不是OS专家,其他人请评论更新。

GNU 构建系统 restricts the features that configure is supposed to use for maximum compatibility, including how to write shell code and which utilities 可供使用,以及您可以从这些实用程序中获得的功能。

file 在那个列表中是 而不是 ,应该是 tested forAC_PATH_PROG(或类似的东西),所以真的是包中的错误。即使 configure 中的测试绝对需要 file 才能工作,得到一个 AC_MSG_ERROR 说 "Install the file program" 比解码错误消息更可取。

所以回答你的问题:

is 'file' a very basic utility or it is recently added to the autotolls package?

不,file 不是 autotools 的一部分,但它是一个非常常见的安装实用程序。 Basic 可能不是描述 file.

的最佳形容词

Should I install it?

你的 configure 脚本依赖它,所以我想你必须这样做。

但它的用法有点傻:大多数时候您可以从 host triplet 确定体系结构。此外,objdump 是标准编译器工具之一(objdump -f conftest.o 将显示类似的信息)。至少要安装了。