安装捆绑使用rvm,ruby1.8.7与Linux上的GCC 4.7

在linux(Fedora 17,Arch等)上安装ruby 1.8.7或者安装GCC 4.7的bundle gem。 这个问题发生在我使用RVM的时候。 我能够安装1.8.7,但无法安装捆绑软件gem。 我会收到以下错误:

$ gem install bundler ~/.rvm/rubies/ruby-1.8.7-p358/lib/ruby/1.8/timeout.rb:60: [BUG] Segmentation fault ruby 1.8.7 (2012-02-08 patchlevel 358) [x86_64-linux] 

这个问题在很多地方都有描述,其中包括:

  • ruby-enterprise 1.8.7-12:timeout.rb:60:[BUG]分割错误
  • ruby安装是seg错误
  • rvm在archlinux上安装rbx失败(mri 1.8 + gcc 4.7问题)
  • ruby1.8:使用gcc-4.7编译时的段错误
  • Ruby 1.8.7无法构build(Arch Linux,gcc> 4.6)

Solutions Collecting From Web of "安装捆绑使用rvm,ruby1.8.7与Linux上的GCC 4.7"

在原始问题的链接中的问题的描述建议安装旧版本的gcc生成1.8.7, 这是没有必要的

 $ rvm remove 1.8.7 $ CFLAGS="-O2 -fno-tree-dce -fno-optimize-sibling-calls" rvm install 1.8.7 $ rvm use 1.8.7 $ gem install bundler 

解决方案来源如下:

Bug#6383:使用GCC 4.7编译时,超时模块中的Segfault模块

此外,我会确保你有稳定的版本,从今天,2012年5月30日发布,这是4.7.0,而不是以前的4.7版本之一不是稳定版本。 RVM的政策是不支持GCC的非稳定版本(又名开发版本),因为我们不是编译器的人。

然后,另外,请卸载并重新安装1.8.7的原始版本。 另一个选择是'rvm重新安装1.8.7',尽管并不是所有以前的配置选项都可以被重新生成,包括接受改变后的CFLAGS变量,写入配置文件。 @mpapis,我们是否需要在这里主张使用–autoconf –force?

(mpapis和我是RVM项目的开发者,所以这是一个很好的地方,任何讨论标志和监视,看看应该做什么,所以我们可以推动信息给任何其他人来到我们这里)