MacRuby 0.10 HotCocoa неподдерживаемый формат файла, который не связан с архитектурой (i386) - PullRequest
2 голосов
/ 03 июня 2011

Я установил 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.

1 Ответ

4 голосов
/ 03 июня 2011

Использование hotcocoa из этого репо решает проблему. Опубликованная версия устарела и игнорирует архитектуру.

Не идеально, но по крайней мере работает до тех пор, пока опубликованная версия не догонит.

Спасибо, @ watson1978

Это сработало, но привело к другой ошибке: LSOpenURLsWithRole () завершился с ошибкой -10810

Мне пришлось установить BridgeSupport , и тогда все работало нормально.

...