2

我一直在尝试在运行 Gentoo 2.2 的服务器上安装 rails,但在尝试安装 rails 时总是出现“core dumped”消息sudo gem install rails。我编译了 Ruby 1.9.3 和 2.0.0 并尝试使用 rbenv 但它们最终都出现以下错误

/usr/local/lib/ruby/2.0.0/psych.rb:205: [BUG] Bus Error
ruby 2.0.0p247 (2013-06-27 revision 41674) [i686-linux]

-- Control frame information -----------------------------------------------
c:0035 p:---- s:0165 e:000164 CFUNC  :parse
c:0034 p:0050 s:0160 e:000159 METHOD /usr/local/lib/ruby/2.0.0/psych.rb:205
c:0033 p:0014 s:0153 E:ffffff34 METHOD /usr/local/lib/ruby/2.0.0/psych.rb:153
c:0032 p:0014 s:0148 e:000147 METHOD /usr/local/lib/ruby/2.0.0/psych.rb:129
c:0031 p:0036 s:0142 e:000141 METHOD /usr/local/lib/ruby/2.0.0/rubygems/specification.rb:897
c:0030 p:0019 s:0137 e:000136 BLOCK  /usr/local/lib/ruby/2.0.0/rubygems/package.rb:398 [FINISH]

...follows about 20 lines of similar message

我试过sudo gem install psych,删除/usr/local/lib/ruby/*,编译最新的 RubyGems,重新安装 libyaml,几乎所有我能想到的,但没有运气。我对 Ruby 很陌生,我不确定什么psych.rb也不parser.parse yaml, filename做,这就是“总线错误”似乎发生的地方。

def self.parse_stream yaml, filename = nil, &block
  if block_given?
    parser = Psych::Parser.new(Handlers::DocumentStream.new(&block))
    parser.parse yaml, filename
  else
    parser = self.parser
    parser.parse yaml, filename
    parser.handler.root
  end 
end

任何帮助,将不胜感激。

更新:
我跑步后上床睡觉./configure --with-opt-dir=/usr/local && make && make installsu醒来发现gem跑步非常好!
我猜这是--with-opt-dir=/usr/local使它起作用的选项(尽管我之前尝试过设置该选项,但我相信它不是/usr/local)。

4

1 回答 1

0

复制评论中的答案,以便从“未回答”过滤器中删除此问题...

Casper链接到在 GitHub 上提交的可能的根本原因问题:https ://github.com/sstephenson/ruby-build/issues/119#issuecomment-3608033

几个小时后,NigoroJr确认从源代码重新编译解决了问题,与上述 GitHub 票证中的评论一致:

跑步后我上床睡觉./configure --with-opt-dir=/usr/local && make && make installsu醒来发现gem跑步非常好!我猜这是--with-opt-dir=/usr/local 使它起作用的选项(尽管我之前尝试过设置该选项,但我相信它不是/usr/local)。

于 2013-10-08T04:10:34.903 回答