在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]
这个问题在很多地方都有描述,其中包括:
在原始问题的链接中的问题的描述建议安装旧版本的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项目的开发者,所以这是一个很好的地方,任何讨论标志和监视,看看应该做什么,所以我们可以推动信息给任何其他人来到我们这里)