构建 coreutils 时出现 MinGW 错误(Windows 和 Linux 上的一致错误)——原因?

Posted

技术标签:

【中文标题】构建 coreutils 时出现 MinGW 错误(Windows 和 Linux 上的一致错误)——原因?【英文标题】:MinGW errors while building coreutils (consistent errors on both Windows and Linux) -- cause? 【发布时间】:2011-08-12 11:55:00 【问题描述】:

未能成功找到各种 Unix 工具(如 xargs 和诸如此类(this version,虽然很棒,但需要外部 DLL))的最新独立二进制文件,我已经接受了挑战自己编译。

...这很痛苦。

不过,我最终成功地使用了sedgrep。 但是,当我尝试使用 MinGW GCC 构建 coreutils 时,我总是在 ./configure 末尾收到此错误:

checking whether it is possible to resort to fread on /etc/mnttab... no
configure: error: could not determine how to read list of mounted file systems

有趣的是,这发生在我的 Windows 机器的 MSYS 环境中,发生在 Ubuntu 的 MinGW 上。

当然,我可以手动从configure 中删除支票并尝试继续,但我确信某些事情会像往常一样打破这条线。

有谁知道这是什么原因,以及如何解决?

【问题讨论】:

【参考方案1】:

是不是因为 MinGW 没有提供完整的 POSIX 或 SunOS 或 LFH 或 FHS 仿真。

甚至是 MSYS 构建的 coreutils is incomplete:

默认情况下,并非所有 Coreutils 工具都附带 MSYS。

官方唯一基于 Windows 的 POSIX 仿真supported by coreutils is Cygwin:

Cygwin 团队为将 GNU Project 软件移植到 MS-Windows 所做的辛勤工作受到了极大的钦佩。但是 GNU 团队通常使用 GNU 操作系统,并且无法访问 Cygwin 系统或 MS-Windows 系统,这意味着我们大多数人都无法帮助您。如果您能直接向 Cygwin 人员报告您的错误,我们将不胜感激。他们是专家,最适合解决您的问题。

关于来自configure的错误:

checking whether it is possible to resort to fread on /etc/mnttab... no
configure: error: could not determine how to read list of mounted file 
                  systems

MSYS 中没有真正的挂载(只有一个非常具体的),因此默认位置 (/etc/mnttab) 中没有挂载的 fs 列表。

【讨论】:

【参考方案2】:

构建它 MSYS

PATH=/bin:/mingw/bin
mingw-get install msys-dvlpr
./configure

【讨论】:

以上是关于构建 coreutils 时出现 MinGW 错误(Windows 和 Linux 上的一致错误)——原因?的主要内容,如果未能解决你的问题,请参考以下文章

使用 MingW 运行 OpenCV 项目时出现入口点错误

在 mingw 下编译时出现 PathFindFileName 错误

与 DLL 链接时出现“‘atexit’的多重定义”

在配置 ffmpeg 时出现错误“未找到 x264”

Xcode 构建时出现格式错误

构建时出现构建顺风弃用错误