构建 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))的最新独立二进制文件,我已经接受了挑战自己编译。
...这很痛苦。
不过,我最终成功地使用了sed
和grep
。
但是,当我尝试使用 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 上的一致错误)——原因?的主要内容,如果未能解决你的问题,请参考以下文章