Ошибка ruby_threadptr_data_type

Я запускаю новое приложение для рельсов с последней версией рельсов (3.1.3). Rails падает при попытке запустить сервер. Сначала я исправил эту ошибку, и теперь я получаю этот

ruby-debug-base19-0.11.25/lib/ruby_debug.so: undefined symbol: ruby_threadptr_data_type 

Здесь обсуждается это, здесь, но я не могу полностью понять это, чтобы заставить работать.

UPDATE

Я обновил версию ruby-debug

gem 'ruby-debug-base19x', '~> 0.11.30.pre4'

и теперь перешли к этой ошибке

linecache19-0.5.12/lib/trace_nums19.so: undefined symbol: ruby_current_thread

Ответы

Ответ 1

Хорошо, получается, что и ruby-debug, и linecache необходимо вручную обновлять до последних версий. Эти строки в моем gemfile сделали трюк

gem 'linecache19', :git => 'git://github.com/mark-moseley/linecache'
gem 'ruby-debug-base19x', '~> 0.11.30.pre4'
gem 'ruby-debug19'

Для запуска спецификаций вам нужно запустить bundle exec rspec -d spec

Ответ 2

Наконец-то я нашел проблему. Отладчик в RubyMine запускается без пакета exec, поэтому он не использует linecache19 из git. Вам нужно установить его вручную.

Разрешение проблемы, найденной здесь: http://youtrack.jetbrains.com/issue/RUBY-9418?projectKey=RUBY

gem uninstall linecache19
gem uninstall ruby-debug-base19x
curl -OL http://rubyforge.org/frs/download.php/75414/linecache19-0.5.13.gem
gem install linecache19-0.5.13.gem
gem install ruby-debug-base19x –-pre

Обязательно удалите все linecache19 и ruby-debug-base19x!

Ответ 3

Для меня работали следующие строки:

gem 'linecache19'
gem 'ruby-debug-base19x'
gem 'ruby-debug19', :require => 'ruby-debug'

(подсказка для шляпы для объявления. Его комментарий не работал у меня, но мне пришла в голову идея добавить linecache19.)

Ответ 4

после того, как вы попробовали все советы по stackoverflow, для меня работала следующая комбинация

gem 'linecache19', :git => 'git://github.com/mark-moseley/linecache'
gem 'ruby-debug-base19x', '~> 0.11.30.pre4'
gem 'ruby-debug19'

Я запускаю Rails 3.1.3 на Ruby 1.9.3-p0 с RVM

когда я установил :require => 'ruby-debug', сервер не запустится.

Ответ 5

Он отправляется из этого

Я также столкнулся с этим и нашел решение в Ruby 1.9.3 и ruby-debug. Вам необходимо установить еще не официально выпущенные версии ruby-debug-base19 и linecache19. В настоящее время выпущенные версии действительно вызывают исключение, которое у вас было.

Используйте этот метод.

#To install ruby-debug on Ubuntu ruby-1.9.3 you need to download from http://rubyforge.org/frs/?group_id=8883

linecache19-0.5.13.gem 
ruby_core_source-0.1.5.gem 
ruby-debug19-0.11.6.gem 
ruby-debug-base19-0.11.26.gem

#Then in your console

export RVM_SRC=/your/path/to/ruby-1.9.3
# Note, your source path should be something like /home/user/.rvm/src/ruby-1.9.3-p0

gem install archive-tar-minitar
gem install ruby_core_source-0.1.5.gem -- --with-ruby-include=/$RVM_SRC
gem install linecache19-0.5.13.gem -- --with-ruby-include=/$RVM_SRC
gem install ruby-debug-base19-0.11.26.gem -- --with-ruby-include=/$RVM_SRC
gem install ruby-debug19-0.11.6.gem -- --with-ruby-include=/$RVM_SRC

Я попробовал, и он работает!

Это решение наших проблем.