Установка Ruby 1.9.2 с RVM завершается неудачно на OS X Lion - PullRequest
1 голос
/ 27 июля 2011

Я на Lion, я установил xcode 4.1, а версия rvm - 1.6.31 head

Вот что я сделал:

$ rvm install 1.9.2-p290 --with-iconv-dir=/usr/local/Cellar/libiconv/1.13.1

Iconv dir указывает на установку Brew.

Вот выход

Вот make.log

Ошибка в нижней части файла make.log выглядит так, будто он пытается использовать собственный libiconv вместо того, который я указал:

ld: in /Developer/SDKs/MacOSX10.7.sdk/usr/local/lib/libiconv.2.dylib, file was built for unsupported file format which is not the architecture being linked (x86_64) for architecture x86_64

Есть идеи?

Ответы [ 4 ]

2 голосов
/ 27 октября 2011
  • Удалите RVM, что сделает установку более чистой позже:

    $ RVM взорвется

  • Удалите XCode:

    $ sudo / Developer / Library / uninstall-devtools –mode = all

XCode удален, поскольку, по крайней мере, в 4.2 все ссылки на gcc связаны с собственными llvm-gcc (Apple)вилка gcc.llvm НЕ будет компилировать ruby.

(всегда можно переустановить из AppStore позже)

Это установит только базовый компилятор GCC.Он может быть безопасно перезаписан XCode, если вы решите переустановить его, или просто удалить, используя ту же команду, что и для удаления XCode.

Это установитнесколько файлов в домашний каталог homebrew "/ usr / local / cellar"

  • , резервное копирование /usr/local/lib/libiconv.2.dylib и копирование /usr/local/cellar/libiconv/1.14/lib / libiconv.2.dylib на свое место в / usr / local / lib

На данный момент у вас должно быть все для установки ruby ​​1.9.2 с использованием RVM:

CC=gcc-4.2 rvm install 1.9.2-p290 --with-iconv-dir=/usr/local/Cellar/libiconv/1.14.1

(RVM на самом деле не поддерживает --with-iconv-dir, если вы проверите файл config.log, но это может когда-нибудь произойти ... в этом случае копирование libiconv будет ненужным)

Теперь перейдите к установке драгоценных камней, рельсов и всего, что вам может понадобиться.

2 голосов
/ 28 июля 2011

При обновлении с 10.5 до 10.6 мне пришлось обнулить все мои установленные библиотеки, созданные на основе исходного кода, и начать заново, чтобы полностью решить проблемы преобразования 32-разрядных в 64-разрядные.Вы можете обнаружить, что вам нужно принудительно пересобрать все ваши пакеты brew.

В MacPorts вы просто удаляете каталог /opt, спасая все файлы базы данных, которые могут быть там в первую очередь, и переустанавливайте все заново.Я уверен, что для Brew существует аналогичная процедура.

Существует также способ изменить путь загрузки библиотеки, чтобы установить приоритет, но MacPorts, похоже, справится с этим для вас.otool может помочь определить, какие библиотеки загружаются:

otool -L `which ruby`
0 голосов
/ 14 ноября 2011

Я считаю это невероятно трудным и запрещающим принятие ruby ​​1.9. Конечно, ребята могут сделать эту установку легкой и понятной?

0 голосов
/ 28 июля 2011

Ruby не будет устанавливаться с llvm, и теперь gcc связан sym с llvm. Простое решение заключается в использовании

CC=gcc-4.2 rvm install 1.9.2-p290 --with-iconv-dir=/usr/local/Cellar/libiconv/1.13.1

чтобы заставить его строить с реальным gcc.

...