6

Linux(Fedora 17、Archなど)でのruby1.8.7のビルドまたはGCC4.7を使用したバンドラー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]

この問題は、次のような多くの場所で説明されています。

4

2 に答える 2

18

元の質問のリンクにある問題の説明は、ビルド1.8.7に古いバージョンのgccをインストールすることを示唆しています。これは必要ありません

$ 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

以下から派生したソリューション:

バグ#6383:GCC4.7でコンパイルした場合のタイムアウトモジュールのセグメンテーション違反

于 2012-05-30T16:24:55.353 に答える
1

また、2012 年 5 月 30 日の時点でリリースされた安定版リリースが 4.7.0 であり、安定版リリースではない以前の 4.7 リリースの 1 つではないことを確認してください。RVM には、GCC の非安定リリース (開発バージョンとも呼ばれます) をサポートしないというポリシーがあります。

さらに、元のバージョンの 1.8.7 をアンインストールして再インストールしてください。もう 1 つのオプションは「rvm 再インストール 1.8.7」ですが、変更された CFLAGS 変数の受け入れを含むように以前のすべての構成オプションが再生成されるわけではありません (構成に書き込まれます)。@mpapis、ここで --autoconf --force の使用を推奨する必要がありますか?

(mpapis と私は RVM プロジェクトの開発者なので、これはフラグについて話し合い、何をすべきかを監視して、これについて来た他の人に情報をプッシュできるようにするのに最適な場所です)

于 2012-05-30T17:28:50.207 に答える