BUG Bus Error ruby ​​1.8.7 - PullRequest
       1

BUG Bus Error ruby ​​1.8.7

15 голосов
/ 12 октября 2011

Я получаю сообщение об ошибке после компиляции 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 и все работать правильно.

Ответы [ 7 ]

24 голосов
/ 20 октября 2011

Поскольку мне пришлось разобраться в нескольких из этих ответов, чтобы все работало с XCode 4.2, я решил собрать все это вместе:

  1. Установить Xcode 4.2
  2. Установитьавтономный компилятор gcc из https://github.com/kennethreitz/osx-gcc-installer (который заменяет Xcode)
  3. Добавьте export CC=gcc-4.2 в ваш ~ / .bash_profile или эквивалентный (не забудьте перезагрузить его)
  4. Выполнитьrvm implode" then re-install rvm http://beginrescueend.com/

В этот момент я смог установить rvm ruby-1.8.7 (и ruby-1.9.2) и фактически установить мои гемы для установки.

3 голосов
/ 12 октября 2011

Таким образом, обнуление RVM (rvm implode) и переустановка не имели никакого значения.Я закончил тем, что установил Xcode 4.2, а затем установил компиляторы GCC, после чего переопределял компиляторы Xcode.

Вот шаги для тех, кто гуглит это.

  1. Установите Xcode 4.2.x

  2. Установка автономных компиляторов GCC из https://github.com/kennethreitz/osx-gcc-installer

    Примечание. Недавно была выпущена бета-версия Xcode 4.3.Я проверяю, исправляет ли это проблемы компиляции.

2 голосов
/ 15 октября 2011

Я исправляю это путем

  1. установки Xcode 4.2.x,
  2. с добавлением export CC=gcc в ~ / .bash_profile,
  3. Среда перезагрузки (source ~/.bash_profile)
  4. выполняет rvm install 1.9.3,
  5. выполняет rvm ruby-1.9.3-rc1,
  6. выполняет gem update --system и, наконец,
  7. выполняет gem install bundler

Проблема с версией Xcode 4.2.x.Если вы запустите rvm get head, вы увидите это сообщение «НЕ используйте Xcode Version 4.2.x. В настоящее время он не может собрать несколько рубинов и драгоценных камней ...».

У меня нет решения для ruby ​​v1.8.7.

Надеюсь, это поможет.

2 голосов
/ 12 октября 2011

Несколько статей предполагают, что Ruby не нравится, когда его компилируют с участием LLVM.Мера остановки заключается в том, чтобы полностью удалить установку RVM - в связанных статьях говорится, как - и затем перекомпилировать Ruby с простым GCC.Настоящее исправление придет от Apple / LLVM или команды Ruby.

1 голос
/ 14 января 2012

Инструкции для установщика GCC можно найти здесь: https://github.com/kennethreitz/osx-gcc-installer

Это дает вам установку gcc не на основе llvm без необходимости возиться с Xcode.

Затем вы можете использовать команду

 export CC=/usr/bin/gcc-4.2 

Это позволяет вам использовать последнюю версию X-кода для целей OSX и при этом иметь счастливую версию gcc для ruby.

1 голос
/ 30 ноября 2011

Мне нужно использовать 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), которая также не работала.

0 голосов
/ 26 октября 2011

Документация после установки rvm гласит:

** Пользователи Lion: НЕ используйте версию Xcode 4.2.x для OS X Lion.В настоящее время он не может собрать несколько рубинов и драгоценных камней, а также несколько пакетов Homebrew и Macports.Версия Xcode 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

Это сработало для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...