2011-11-24 18 views
15

Tôi đang bắt đầu một ứng dụng đường ray mới với phiên bản mới nhất của đường ray (3.1.3). Rails bị treo khi tôi cố khởi động máy chủ. Trước tiên tôi cố định this bug, và bây giờ tôi nhận được này mộtlỗi ruby_threadptr_data_type

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

Có một cuộc thảo luận về vấn đề này xảy ra here, nhưng tôi không thể làm đủ ý nghĩa của nó để có được những điều để làm việc.

CẬP NHẬT

tôi cập nhật các phiên bản của ruby-debug

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

và bây giờ đã chuyển sang lỗi này

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

Trả lời

33

Ok, nó chỉ ra rằng cả hai ruby-debug và linecache cần được cập nhật thủ công lên phiên bản mới nhất. Những dòng trong gemfile tôi đã làm các trick

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

Để chạy thông số kỹ thuật, bạn cần phải chạy bó exec rspec đặc tả -d

+0

đây là câu trả lời giống với câu trả lời của @Jakob_Cosoroaba – klaffenboeck

+2

@klaffenboeck - vâng, đúng vậy. Cái này đã ở đây khoảng một tuần trước khi anh ta trả lời. Không chắc chắn lý do tại sao anh ta sao chép nó. – declan

+0

Không hoạt động. Vẫn còn có cùng một vấn đề. Cố gắng với yêu cầu, và không có git và định nghĩa phiên bản. Giống nhau. –

2

Những dòng này làm việc cho tôi:

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

(Lời khuyên của anh ta không hiệu quả đối với tôi, nhưng nó đã cho tôi ý tưởng để thêm linecache19.)

+0

Tôi cũng đã thử mọi thứ khác và đây là giải pháp duy nhất giải quyết được vấn đề của tôi. Đối với những người cập nhật lên Ubuntu 12.04, ruby ​​sẽ được tự động cập nhật thành 1.9.3p0. – Jon

0

sau khi thử tất cả lời khuyên trên stackove rflow, sự kết hợp sau đây làm việc cho tôi

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

Tôi đang chạy Rails 3.1.3 trên Ruby 1.9.3-p0 với RVM

khi tôi đặt :require => 'ruby-debug' máy chủ sẽ không bắt đầu.

-1

Đó là repost từ this

Tôi cũng chạy vào điều này, và tìm thấy giải pháp trong Ruby 1.9.3 and ruby-debug. Bạn cần phải cài đặt các phiên bản chưa được chính thức phát hành của ruby-debug-base19 và linecache19. Các phiên bản hiện đang phát hành thực sự gây ra ngoại lệ mà bạn có.

Sử dụng this gist.

#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 

Tôi đã thử nó và nó hoạt động!

Điều này giải quyết được các vấn đề của chúng tôi.

4

Cuối cùng, tôi đã tìm thấy sự cố. Trình gỡ lỗi trong RubyMine bắt đầu mà không có gói exec, vì vậy nó không sử dụng linecache19 từ git. Bạn cần cài đặt nó theo cách thủ công.

Nghị quyết của vấn đề tìm thấy ở đây: 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 

Hãy chắc chắn để gỡ bỏ cài đặt tất cả các linecache19 và ruby-debug-base19x!

+0

Hoàn hảo, cảm ơn! – Martynas