Ошибка шины BUG ruby 1.8.7
Я получаю сообщение об ошибке после компиляции Ruby 1.8.7 с использованием RVM на Lion 10.7.1 с Xcode 4.2 GM (новый MacBook).
Он компилируется отлично, но когда я пытаюсь установить любой камень, я получаю следующее:
gem install bundler
/Users/me/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/1.8/timeout.rb:60: [BUG] Bus Error
ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-darwin11.1.0]
Abort trap: 6
Обновление. В конце я надеюсь, что установлен Xcode 4.2, RVM с установленным Ruby 1.8.7, 1.9.x и все работает нормально.
Ответы
Ответ 1
Поскольку мне приходилось анализировать некоторые из этих ответов, чтобы получить работу с XCode 4.2, я подумал, что все это поставил бы вместе:
На этом этапе я смог установить rvm ruby-1.8.7 (и ruby-1.9.2) и фактически установить мои драгоценные камни для установки.
Ответ 2
Так что nuking RVM (rvm implode
) и переустановка не имели никакого значения. Я закончил установку Xcode 4.2, а затем установил компиляторы GCC, после чего переопределяет компиляторы Xcode.
Вот шаги для этих Googling.
Ответ 3
Несколько статьи предполагают, что Ruby не нравится составляется с участием LLVM. Мерой остановки является тщательное удаление установки RVM - связанные статьи говорят, как - и затем перекомпилировать Ruby с простым GCC. Реальное исправление должно исходить от Apple/LLVM или команды Ruby.
Ответ 4
Я фиксирую это на
- установка Xcode 4.2.x,
- добавление
export CC=gcc
в ~/.bash_profile,
- среда перезагрузки (
source ~/.bash_profile
),
- выполнение
rvm install 1.9.3
,
- выполнение
rvm ruby-1.9.3-rc1
,
- выполнение
gem update --system
и, наконец,
- Выполнение
gem install bundler
Проблема заключается в версии Xcode 4.2.x. Если вы запустите rvm get head
, вы увидите это сообщение "НЕ используйте Xcode Version 4.2.x. В настоящее время он не может создать несколько рубинов и драгоценных камней...".
У меня нет решения для ruby v1.8.7.
Надеюсь, это поможет.
Ответ 5
Мне нужно использовать Xcode на этой машине, поэтому автономный gcc не собирался делать это для меня.
На других плакатах я следил за предложениями в конце примечаний к выпуску обновлений RVM.
Примечание. Мне не нужно было удалять RVM. Мне удалось удалить Xcode 4.2.1 (полностью) и переустановить Xcode 4.1, а затем сделать трюк CC=/usr/bin/gcc-4.2 rvm install 1.8.7
. В моем случае я положил export CC="/usr/bin/gcc-4.2"
в свой профиль, чтобы сохранить некоторую типизацию, а также настроить различные драгоценные камни.
Это также работало на Ruby Enterprise Edition (ree-1.8.7-2011.03), который также терпел неудачу.
Ответ 6
Вы можете скачать инструкцию для установщика GCC для самостоятельной установки здесь: https://github.com/kennethreitz/osx-gcc-installer
Это дает вам установку gcc без llvm без необходимости возиться с Xcode.
Затем вы можете использовать команду
export CC=/usr/bin/gcc-4.2
Это позволяет вам иметь последний код X для OSX и все еще иметь счастливую версию gcc для ruby.
Ответ 7
В документации по пост-установке rvm говорится:
** Пользователи Lion: НЕ используйте Xcode Version 4.2.x для OS X Lion. В настоящее время он не может создать несколько рубинов и драгоценных камней, а также несколько пакетов Homebrew и Macports. Xcode Version 4.1 (4B110) работает. Вы можете найти Xcode 4.1 для OS X Lion: https://developer.apple.com/downloads/download.action?path=Developer_Tools/xcode_4.1_for_lion/xcode_4.1_for_lion.dmg
Это сработало для меня.