MacRuby 0.10 HotCocoa неподдерживаемый формат файла, который не связан с архитектурой (i386)
Я установил MacRuby (через rvm):
$ ruby -v
MacRuby 0.10 (ruby 1.9.2) [universal-darwin10.0, x86_64]
И LLVM (через доморощенный):
$ 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
(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
Но ничего из этого не имеет значения. Я получаю ту же ошибку.
Я на снежном барсе - 10.6.7.
1 ответ
Использование hotcocoa из этого репо решает проблему. Опубликованная версия устарела и игнорирует архитектуру.
Не идеально, но по крайней мере это работает, пока опубликованная версия не догонит.
Спасибо идет к @watson1978
Это сработало, но привело к другой ошибке: LSOpenURLsWithRole() завершился с ошибкой -10810
Мне пришлось установить BridgeSupport, и тогда все работало нормально.