ubuntu autoconf配置警告:/usr/bin/文件:无此文件或目录

uyhoqukh  于 2023-02-21  发布在  其他
关注(0)|答案(3)|浏览(200)

当我在一个ubuntu操作系统(16)中使用我的configure时,似乎没有问题,我已经安装了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"是一个非常基本的实用程序还是最近添加到autotoll软件包中的?我应该安装它吗?

gwbalxhn

gwbalxhn1#

GNU Build System限制了configure为实现最大兼容性而应该使用的特性,包括如何编写shell代码、哪些实用程序可供使用以及您可以从这些实用程序中期待的特性。
file不在这个列表中,应该用AC_PATH_PROG(或类似的东西)测试,所以这确实是包中的一个bug。即使在configure中的测试绝对需要file才能工作,得到一个AC_MSG_ERROR说“安装文件程序”也比解码错误消息更好。
为了回答你们的问题:
“file”是一个非常基本的工具,还是最近才加入快易通的软件包?
不,file不是autotools的一部分,但它是一个很常见的工具,Basic可能不是描述file的最佳形容词。
我应该安装吗?
您的configure脚本依赖于它,所以我想您必须这样做。
但它的用法有点傻:大多数时候你可以从host triplet中确定架构。另外,objdump是标准编译器工具之一(objdump -f conftest.o将显示类似的信息)。至少它将被安装。

nbysray5

nbysray52#

文件似乎有它的起源在BSD和一直在演变(人文件)。这是一个罕见的问题,我不期待任何答案。我试图积累一些数据。经过一些侦查工作,我发现以下链接:
用于实现的https://travis-ci.org/file/file github页面
unix文件命令:http://www.computerhope.com/unix/ufile.htm
维基页面:https://en.wikipedia.org/wiki/File_(command)
正如Charles所建议的,你应该通过软件包管理器来安装文件包,对于ubuntu,这个软件包的链接是:https://launchpad.net/ubuntu/+source/file
不确定哪个来源是真实的实现。我不是操作系统Maven,其他人请评论和更新。

bweufnob

bweufnob3#

sudo apt install -y file

或在Dockerfile中:

RUN DEBIAN_FRONTEND=noninteractive apt-get install -y file

相关问题