MacRuby 0.10 HotCocoa 不支持的文件格式,不是正在链接的体系结构 (i386)
我已经安装了 MacRuby(通过 rvm):
$ ruby -v
MacRuby 0.10 (ruby 1.9.2) [universal-darwin10.0, x86_64]
和 LLVM(通过 homebrew):
$ llvmc --version
Low Level Virtual Machine (http://llvm.org/):
llvm version 2.9
Optimized build.
Built Jun 3 2011 (10:06:35).
Host: x86_64-apple-darwin10
Host CPU: corei7
Registered Targets:
(none)
当我运行 rake 时,我收到错误:
$ rake
(in /Users/briankierstead/dev/kci/macruby/hourz)
ld: warning: in /Library/Frameworks//MacRuby.framework/MacRuby, file was built for
unsupported file format which is not the architecture being linked (i386)
Undefined symbols for architecture i386:
"_macruby_main", referenced from:
_main in ccvGpB6J.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
lipo: can't open input file: /var/folders/qm/qm1gYJL6Fa4uPhnq239pak+++TI/-Tmp-//ccS18qN4.out (No such file or directory)
我不想想要运行 xcode4,它允许您指定 x86_64 作为输出。
我该如何解决这个问题?看起来链中的某个地方正在指定 32 位。我尝试使用标志进行编译,并将 rake 运行为:
env UNIVERSAL=1 UNIVERSAL_ARCH="x86_64" ENABLE_OPTIMIZED=1
和
RC_ARCHS=x86_64 rake
但这些都没有什么区别。我得到同样的错误。
我使用的是 Snow Leopard - 10.6.7。
I've installed MacRuby (via rvm):
$ ruby -v
MacRuby 0.10 (ruby 1.9.2) [universal-darwin10.0, x86_64]
And LLVM (via homebrew):
$ llvmc --version
Low Level Virtual Machine (http://llvm.org/):
llvm version 2.9
Optimized build.
Built Jun 3 2011 (10:06:35).
Host: x86_64-apple-darwin10
Host CPU: corei7
Registered Targets:
(none)
When I run rake, I get an error:
$ rake
(in /Users/briankierstead/dev/kci/macruby/hourz)
ld: warning: in /Library/Frameworks//MacRuby.framework/MacRuby, file was built for
unsupported file format which is not the architecture being linked (i386)
Undefined symbols for architecture i386:
"_macruby_main", referenced from:
_main in ccvGpB6J.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
lipo: can't open input file: /var/folders/qm/qm1gYJL6Fa4uPhnq239pak+++TI/-Tmp-//ccS18qN4.out (No such file or directory)
I don't want to run xcode4, which allows you specify x86_64 as the output.
How can I resolve this issue? It looks like somewhere in the chain, 32-bit is being specified. I've tried compiling with flags, and running rake as:
env UNIVERSAL=1 UNIVERSAL_ARCH="x86_64" ENABLE_OPTIMIZED=1
and
RC_ARCHS=x86_64 rake
But none of these makes a difference. I get the same error.
I'm on Snow Leopard - 10.6.7.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用此 repo 中的 hotcocoa 可以解决该问题。发布的版本已经过时并且忽略了架构。
并不理想,但至少在发布的版本跟上之前它是有效的。
感谢 @watson1978
这有效,但引起了另一个错误: LSOpenURLsWithRole() 失败,错误 -10810
我必须安装 BridgeSupport 然后一切正常。
Using hotcocoa from this repo solves the problem. The published version is outdated and ignores architecture.
Not ideal, but at least it works until the published version catches up.
Thanks goes to @watson1978
This worked, but gave rise to another error: LSOpenURLsWithRole() failed with error -10810
I had to install BridgeSupport and then everything worked fine.