2012-01-25 2 views
3

Рубина сохраняет segfaulting при использовании жемчужины Koala разговаривать по HTTP:Persistent рубин segfaulting после чистой установки

/Users/pawel/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/net/http.rb:799: [BUG] Segmentation fault 

Я попытался следующее:

  • Run which -a ruby который показал несколько рубины с помощью MacPorts. Поэтому я удалил те, и работает та же команда возвращается снова я удалил только /usr/bin/ruby
  • версии MacPorts из PostgreSQL и установил его с Homebrew вместо (С MacPorts, она устанавливает свою собственную версию OpenSSL)
  • Запуск openssl version возвращается OpenSSL 1.0.0g 18 Jan 2012
  • Я удалил Ruby 1.9.3 из RVM и попробовал метод Лучано, ниже которого не работает.
  • Я также попытался переустановить 1.9.3 от РВМ и указав --with-openssl-dir=/opt/local с момента which openssl возвращения /opt/local/bin/openssl
  • Я переустановил RVM (Это теперь версия 1.10.2 в /Users/pawel/.rvm/bin/rvm)
  • Я повышен до Ruby 1.9. 3-p125, а также опробовали 1.9.2
  • Я выполнил следующие инструкции: http://www.christopherirish.com/2011/09/02/ruby-1-9-2-segmentation-fault-and-openssl/ (на самом деле это мои предыдущие шаги). Я также прочитал предыдущий пост Кристофера here.
  • В моем каталоге проекта, когда я бегу следующий я получить ожидаемый 0:.

    ruby -rubygems -e" require 'eventmachine'; require 'openssl' "; echo $?

  • Я пытался sudo port -f deactivate openssl, но потом, когда я пытаюсь запустить сервер Rails Я получаю Library not loaded: /opt/local/lib/libssl.1.0.0.dylib

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

+0

Я удалил '~/.rvm' dir nad установлен rvm, ruby ​​и' openssl' пакет из rvm ('rvm pkg install openssl'), и все начали нормально работать – fl00r

+0

Вы имеете в виду под управлением' rvm implode'? Как выглядел флаг 'rvm install ruby ​​1.9.3'? – Simpleton

+0

Я не знал о 'implode'. Я удалил rvm dir manualy 'rm -rf ~/.rvm', затем снова установил rvm, затем' rvm pkg install openssl', 'rvm pkg install iconv',' rvm install 1.9.2 --with-openssl-dir = $ rvm_path/usr --with-iconv-dir = $ rvm_path/usr' (да, это примерно 1.9.2, но я не думаю, что это имеет значение) – fl00r

ответ

2

Проблема была в том, что Homebrew и MacPorts противоречили друг другу, поэтому я удалил MacPorts, удалил все пакеты и каталог /opt/local/. Это вызвало некоторую проблему с жемчужиной PG из-за установки PostgreSQL на Homebrew.

Так что я удалил формулу Postgres, а затем переустановил ее и сделал это для установки OpenSSL с использованием Homebrew.

После этого я взорвал RVM и снова установил его и мои рубины (не уверен, нужен ли этот шаг) и, наконец, он работает.

+0

Я думаю, вы должны принять свой ответ, тогда! – jupp0r

+0

Обычно он говорит, что вы можете принять только через 2 дня после его отправки. Полагаю, это только для свежих вопросов. – Simpleton

7

Я получаю эту же ошибку ошибки сегментации, но я пытаюсь перечислить файлы на AWS-S3.

Edit:

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

export PATH=/usr/bin:/bin:/usr/sbin:/sbin:$HOME/.rvm/bin 
rvm remove 1.9.3 
rvm pkg install iconv 
rvm pkg install openssl 
rvm install ruby-1.9.3 --with-openssl-dir=~/.rvm/usr --with-iconv-dir=~/.rvm/usr 
  • как сказал @Simpleton, я написал комментарий в неправильном месте. Теперь я редактирую его с ответом. ;-)
+0

Спасибо, что это сработало для меня, попробовав подобные переустановки. Что-то смешное в вашей установочной строке rvm, копирование/вставка не работает, может быть, некоторые специальные символы. В любом случае, спасибо. – Amala

+0

@ Luciano По-прежнему дает вам щедрость, потому что этот ответ, вероятно, будет работать для всех без конфликтов MacPorts/Homebrew. – Simpleton

+0

На Lion мне пришлось запустить '' 'export CC =/usr/bin/gcc''', прежде чем он скомпилируется. Найдено через [Jeff Douglas] (http://blog.jeffdouglas.com/2011/08/01/ruby-1-9-2-install-errors-with-mac-os-x-lion-and-rvm/) – Forrest

0

Я столкнулся с этим вопросом, но использовал другое решение. Вот full stack trace of the error.

Вот официальный отчет об ошибке: http://bugs.ruby-lang.org/issues/6184 Ответы ниже трассировки стека были очень полезными.

Если вы используете OS X по умолчанию openssl -> выполните brew install openssl и постройте с установленным openssl, а затем повторите попытку.

Если вы используете openssl, который установлен пользователем -> build с OS X по умолчанию ssl и повторите попытку.

Это было похоже на вопрос для меня недавно, когда readline library installed in MacPorts broke a ruby installation. Запуск следующего сценария на разбитой установки рубинового показал, что он был загрузки OpenSSL MacPorts Lib

require 'net/https' 
puts `lsof -p #{$$} | grep ssl | awk '{print $9}'` 

(вывод)

/Users/john/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/x86_64-darwin11.2.0/openssl.bundle 
/opt/local/lib/libssl.1.0.0.dylib 

Решение было временно переместить MacPorts из /opt/local при установке рубин.

  1. Закройте все процессы, которые обращаются к файлам MacPorts. Вы можете видеть, какие из них работают с sudo lsof | grep /opt/local.
  2. sudo mv /opt/local /opt/localbak
  3. Откройте новый терминал, а затем скомпилировать и установить рубин
  4. sudo mv /opt/localbak /opt/local

После этого установка рубин работал должным образом вместе с MacPorts и не загружать файл libssl из MacPorts.