【问题标题】:Looking for a clean way to install daemontools-encore on OS X寻找一种在 OS X 上安装 daemontools-encore 的干净方法
【发布时间】:2012-08-13 11:35:13
【问题描述】:

上下文:

我想使用 OS 10.6.8 系统测试some patches to daemontools encore

对于 gcc 工具链,我需要 XCode 或 this gcc installer。我选择了后者,它似乎在我的系统上运行良好。 还有daemontools-encore is available on githib,我使用从github.com下载的git客户端从中获取它。

问题:

从分发目录运行 ./makemake 会给我一个空的 Makefile,以及以下消息(似乎不管我对 *conf 文件做了什么调整):

Calculating targets...
Building Makefile...
./makemake: line 114: makemake.TARGETS: Is a directory
sort: read failed: makemake.TARGETS: Is a directory
rm: makemake.TARGETS: is a directory
done.
rm: makemake.TARGETS: is a directory

我曾预计会生成一个较大的(约 300 行)Makefile(根据 daemontools 0.76 的原始发行版),使后续的“make install”等操作成为可能。

编辑:

我正在使用this version of daemontools-encore

【问题讨论】:

  • Bruce Guenter 自己诊断了这个问题,并写道(通过 github):“问题是 OSX 上的文件系统似乎不区分大小写,因此它创建了一个目录“makemake.targets”并尝试写入“makemake.TARGETS”(它被重命名为 TARGETS)。显然这不起作用。将 makemake 的第 4 行更改为其他不同的文件名以使其正常工作。我将修复源代码。“

标签: gcc osx-snow-leopard


【解决方案1】:

根据我在对原始问题的评论中添加的 Bruce Guenter 的建议,将 makemake 中的“T=makemake.TARGETS”行替换为“T=makemake.BRUCE”就可以了。

在 OS X 中不区分大小写,我在 StackExchange 上找到了这个块:

HFS+(Mac 文件系统)通常配置为不区分大小写但保留大小写。这意味着文件系统会认为 foo 和 FoO 是相同的,但是当你创建一个新文件时,它会记住哪些字母大写,哪些没有。

这让我觉得这是一种非常奇怪的行为,但我没有注意到任何其他相关问题,所以我想它并没有像我预期的那样破坏*nixy 的东西。它确实破坏的是 Bruce 的原始 makemake 脚本 - 幸运的是修复很简单。

【讨论】:

    猜你喜欢
    • 2012-01-19
    • 1970-01-01
    • 2016-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-16
    • 2019-03-15
    • 1970-01-01
    相关资源
    最近更新 更多