2011-12-06 81 views
2

我試圖運行這個項目https://github.com/eLobato/cartodb-rb-client但顯然無論我的rvm是搞砸了還是pg有一個可怕的錯誤。 這是錯誤跟蹤Postgres分段錯誤ruby gem

/usr/bin/ruby1.8 -S bundle exec rspec "./spec/model/data_spec.rb" "./spec/model/metadata_spec.rb" "./spec/model/scopes_spec.rb" "./spec/client_spec.rb" 
/home/daniel/.rvm/gems/[email protected]/gems/pg-0.11.0/lib/pg_ext.so: [BUG] Segmentation fault 
ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux] 

Aborted 
rake aborted! 
ruby -S bundle exec rspec "./spec/model/data_spec.rb" "./spec/model/metadata_spec.rb" "./spec/model/scopes_spec.rb" "./spec/client_spec.rb" failed 

Tasks: TOP => spec 
(See full trace by running task with --trace) 

分段故障線路真讓我心煩了很多,因爲我試圖重新安裝與PG無濟於事。我運行Ubuntu 11.10,我已經安裝了紅寶石1.9.2和1.8.7

任何線索?

回答

-1

當程序訪問內存時,內核不期望出現分段錯誤(超出索引,內存不足分配塊等)。

你看到了什麼,當你嘗試:

ruby -S bundle --trace exec rspec "./spec/model/data_spec.rb" "./spec/model/metadata_spec.rb" "./spec/model/scopes_spec.rb" "./spec/client_spec.rb" 

爲回溯對你的建議?

+0

<內部:LIB/RubyGems的/ custom_require>: 29:在'require'中:不需要加載這樣的文件 - 來自的打捆機(LoadError) \t:29:'require' \t from/usr/bin/bundle:4:in '

' – eLobato

+0

看來,那從紅寶石加載一些所需的庫時出現問題。你在這臺機器上編譯ruby,還是從Ubuntu存儲庫安裝它,或者在另一臺機器上編譯,只複製到這臺機器上? –

+0

第二種觀點 - 你安裝了ruby部分'bundler'嗎?這似乎是紅寶石抱怨的一部分...... –

0

您正在運行系統Ruby 1.8.7解釋器,但以某種方式加載安裝在通過rvm安裝的Ruby 1.9.2下的pg gem。

Ruby 1.8.7和1.9.2具有完全不同的ABI,所以它們的擴展是不可互換的。

0

對我來說,它似乎是我的Gemfile.lock中的pg gem版本。我在那裏有0.13.2,它似乎沒有在Ruby 1.9.3上工作。我跑bundle update pg並得到0.14.0,然後開始工作。

2

我也有這個錯誤。通過移除安裝在我的系統上的Ruby的所有版本中修正它,然後重新安裝1.9.3

像這樣:

$ rvm remove all

$ rvm install ruby-1.9.3-p392