web-dev-qa-db-ja.com

マーベリックスにRVMを使用してRuby

Osx mavericksにアップグレードしたばかりで、Ruby 2.0をインストールしたいのですが、configure: error: cannot run C compiled programs.エラーが発生します。

Rvmをrvm get stableで更新してから、rvm install 2.0.0と入力すると、ログファイルに移動するように指示するエラーが発生します。ログファイルには次のものが含まれます。

configure: WARNING: unrecognized options: --without-tcl, --without-tk
checking build system type... x86_64-Apple-darwin13.0.0
checking Host system type... x86_64-Apple-darwin13.0.0
checking target system type... x86_64-Apple-darwin13.0.0
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... configure: error: in `/Users/mattroberts/.rvm/src/Ruby-2.0.0-p247':
configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--Host'.
See `config.log' for more details

だから、私は持っているバージョンをリストしてみました。 1.9.3-p392があると表示されるので、それをアンインストールしてから再インストールして、それが機能するかどうかを確認します。同じエラーです。

Xcodeを再インストール/更新する必要がありますか、それとも別の解決策がありますか?

ありがとう!

17
Matt Roberts

Mavericksにアップグレードした後にXcodeをアップグレードしていない場合は、アップグレードする必要があります。その後、コマンドプロンプトを開き、次のように入力します。
xcode-select --install

これにより、OSXアップデートによって削除されたxcodeコマンドツールがインストールされます。その後は問題なく動作するはずです。

54
fsaravia

提案された解決策は私の問題を解決しませんでした(最新バージョンのXCode、インストールされたコマンドラインツール)。 rvm install Ruby-1.9.3 --with-gcc=clangを使用しましたが、うまくいきました。

RvmはデフォルトでOSXにclangを使用していたと思いました。間違ったことや何かが変わったことを覚えているかどうかはわかりません/これはもはや最善の方法ではありません。それにもかかわらず、それは私のためにインストールを機能させました。

Eduのコメントの後、 github rvm issue page 彼が参照した警告:

@marksands何をしているのかを確認してください、Ruby 1.9.3 clangでコンパイルすると「安全」ではなく、セグメンテーション違反が発生する可能性があります。スレッド関連の問題が予想されます。Rubyの再インストールを検討してください。 _ --with-gcc = gcc42またはrvmにgcc4.6をインストールさせるだけで、Ruby2.0.0のみがclangと完全に互換性があります

この問題 マーベリックスのgcc46の問題を指摘しています:

問題のgemは異なる言語を使用しています-C/C++ではなく、Objective-Cを使用しています-したがって、コンパイラのせいではありません。Objective-Cをサポートしてgcc-4.6をビルドできます-デフォルトでは実行されません。

現在、2つのオプションがあります。どちらもuninstallig gcc-4.6で始まり、次のようになります。

•Apple-gcc42をインストールします

•--enable-objcを指定してgcc-4.6をインストールします

29
mmlac

これは修正されるはずです、実行します:

rvm get head
rvm remove 1.9.3
rvm install 1.9.3

余分なフラグを使用しないでください

8
mpapis

最終的に私のために働いたのは、XCodeをインストールすることでした次にXcodeを実行するそして再インストールを試みました。

3
cavneb

ランニング

rvm_configure_env=('LDFLAGS=-L/opt/sm/pkg/active/lib' 'CFLAGS=-I/opt/sm/pkg/active/include' 'CPATH=/opt/sm/pkg/active/include')

Mavericksでのコンパイラの問題を修正しました

1
user3051185

解決:

unset SDKROOT

これは私のために働いた。あなたにもそうなることを願っています。

Xcode開発者ツールと一緒にxcodeを再インストールしようとしました。動作しませんでした。同じエラー。

env -i bash —noprofile —norcで実行して、env変数が問題の原因であるかどうかを確認してください。

1
Inanc Gumus

まったく同じ問題が発生しました(10.8.5で、すべて最新)。 Ruby 2.0.0は正常にインストールされましたが、1.9.3ではありませんでした。このソリューションは私にとってはうまくいきました。

Rubyパス(config.logにあります)にcdしてから、.configureを発行します(config.logにあるすべてのオプションを使用)

make
make install

次に:

rvm use 1.9.3 --create
0
Patrick Sneyers