为什么'make'在Lion上失败了?

fre*_*ley 12 makefile osx-lion

我正在使用makeOSX Lion构建一个大型项目.这些脚本在OSX上运行得很好,直到Snow Leopard,但现在它失败了.

结果是在构建某些模块后,我得到类似于以下内容的错误:

touch my.app/Contents/Resources
touch my.app
make[2]: write error
make[1]: *** [all] Error 1
make: *** [all] Error 1
Run Code Online (Sandbox Code Playgroud)

如果我然后make再次键入它,它会从失败的地方恢复并成功构建(直到它遇到另一个这样的错误).它总是发生在项目的同一个模块中,我不能为我的生活找出原因.

如果我能提供更多有用的信息,请告诉我.

第一次更新

这是输出make -d:

...
     Finished prerequisites of target file `DesktopConn.o'.
     Prerequisite `DesktopConn.cxx' is older than target `DesktopConn.o'.
    No need to remake target `DesktopConn.o'.
    Considering target file `List.o'.
     Looking for an implicit rule for `List.o'.
     Trying pattern rule with stem `List'.
     Trying implicit prerequisite `/bin/sh: line 1:  6733 Segmentation fault: 11  make all
Reaping losing child 0x102d0ae70 PID 6471 
make[1]: *** [all] Error 1
Removing child 0x102d0ae70 PID 6471 from chain.
Reaping losing child 0x10560ee20 PID 6342 
make: *** [all] Error 1
Removing child 0x10560ee20 PID 6342 from chain.
Run Code Online (Sandbox Code Playgroud)

我把整个make -d输出(非常详细)放在pastebin上.

第二次更新

我也上传了Makefile.

第三次更新

我已经下载了make的源码,它是从我的机器上的源代码构建的.它仍然在同一点失败.我也尝试过使用Snow Leopard的make二进制文件.

Rab*_*Rab 0

我相信 llvm 是 Lion 中的默认编译器,但在您提到的以前版本中不是。奥卡姆剃刀说尝试使用:

CC=gcc make
Run Code Online (Sandbox Code Playgroud)

编辑:找到了这个,我认为这是相关的。请参阅答案#1,3 次编辑:此处。它指的是构建 Ruby,但我认为根本问题是相同的。如果这是问题所在,您可能需要下载不同版本的 GCC。