QA@IT

rbenvで ruby インストールエラー (OS X mavericks)

7221 PV

rbenvを利用して、rubyのインストールを試みていますが、
ずっと同じエラーが出てしまいます。

$ rbenv install 2.1.0

Downloading ruby-2.1.0.tar.gz...
-> http://dqw8nmjcqpjn7.cloudfront.net/9e6386d53f5200a3e7069107405b93f7
Installing ruby-2.1.0...

BUILD FAILED

Inspect or clean up the working tree at /var/folders/z0/b8yxnpm16453xgxygv1cq1b40000gn/T/ruby-build.20140211175432.6337
Results logged to /var/folders/z0/b8yxnpm16453xgxygv1cq1b40000gn/T/ruby-build.20140211175432.6337.log

Last 10 log lines:
x ruby-2.1.0/probes_helper.h
x ruby-2.1.0/ruby_atomic.h
/var/folders/z0/b8yxnpm16453xgxygv1cq1b40000gn/T/ruby-build.20140211175432.6337/ruby-2.1.0 /var/folders/z0/b8yxnpm16453xgxygv1cq1b40000gn/T/ruby-build.20140211175432.6337 ~
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... no
configure: error: in `/var/folders/z0/b8yxnpm16453xgxygv1cq1b40000gn/T/ruby-build.20140211175432.6337/ruby-2.1.0':
configure: error: C compiler cannot create executables
See `config.log' for more details

BUILD FAILED

Inspect or clean up the working tree at /var/folders/z0/b8yxnpm16453xgxygv1cq1b40000gn/T/ruby-build.20140211175432.6337
Results logged to /var/folders/z0/b8yxnpm16453xgxygv1cq1b40000gn/T/ruby-build.20140211175432.6337.log

Last 10 log lines:
x ruby-2.1.0/ruby_atomic.h
/var/folders/z0/b8yxnpm16453xgxygv1cq1b40000gn/T/ruby-build.20140211175432.6337/ruby-2.1.0 /var/folders/z0/b8yxnpm16453xgxygv1cq1b40000gn/T/ruby-build.20140211175432.6337 ~
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... no
configure: error: in `/var/folders/z0/b8yxnpm16453xgxygv1cq1b40000gn/T/ruby-build.20140211175432.6337/ruby-2.1.0':
configure: error: C compiler cannot create executables
See `config.log' for more details
make: *** No targets specified and no makefile found.  Stop.

今までに行ったこと

  • XcodeのCommand Line Tools (OS X Marverricks) インストール
  • Homebrew, ruby-build インストール
  • rbenv インストール
  • openssl, readline, libyaml, autoconf, apple-gcc42, gcc47 インストール
  • .bash_profile, .zshrc にパスとrbenv初期化の設定を追加

環境

  • mac OS X 10.9.1 mavericks
  • Homebrew 0.9.5
  • ruby-build 20140210
  • rbenv 0.4.0
  • gcc 4.2.1

エラー内容を見た所、"C compiler works... no"となっているので、gccが影響しているのかと考え、
[export CC=/usr/bin/gcc] の後に[rbenv install 2.1.0]をしてみたり、
[CC=/usr/local/Cellar/gcc47/4.7.3/bin/gcc-4.7 rbenv install 2.1.0]で試しても上手く行きません。

色々試してみたものの、どうしていいか分からず困っております。
アドバイスもらえると幸いです。
よろしくお願いします。

補足 ================

config.logを見つけました。
教えて頂いた通り、エラーのフォルダの近くにありました。
400行程で長かったので、関係ありそうな部分を下記に抜粋させて頂きました。

エラーになっている所は一番下の方です。
gcc-4.2は認識されてるようですが…。
以下、長文すみません。

configure:3800: checking for C compiler version
configure:3809: gcc-4.2 --version >&5
i686-apple-darwin11-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

configure:3820: $? = 0
configure:3809: gcc-4.2 -v >&5
Using built-in specs.
Target: i686-apple-darwin11
Configured with: /Volumes/Media/Builds/gcc-5666.3/build/obj/src/configure --disable-checking --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++,fortran --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin11 --program-prefix=i686-apple-darwin11- --host=x86_64-apple-darwin11 --target=i686-apple-darwin11 --with-gxx-include-dir=/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Apple Inc. build 5666) (dot 3)
configure:3820: $? = 0
configure:3809: gcc-4.2 -V >&5
gcc-4.2: argument to `-V' is missing
configure:3820: $? = 1
configure:3809: gcc-4.2 -qversion >&5
i686-apple-darwin11-gcc-4.2.1: no input files
configure:3820: $? = 1
configure:3840: checking whether the C compiler works
configure:3862: gcc-4.2  -O3 -Wno-error=shorten-64-to-32  -I/Users/takayoshi 1/.rbenv/versions/2.1.0/include  -L/Users/takayoshi 1/.rbenv/versions/2.1.0/lib  conftest.c  >&5
i686-apple-darwin11-gcc-4.2.1: 1/.rbenv/versions/2.1.0/include: No such file or directory
i686-apple-darwin11-gcc-4.2.1: 1/.rbenv/versions/2.1.0/lib: No such file or directory
configure:3866: $? = 1
configure:3904: result: no
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define CANONICALIZATION_FOR_MATHN 1
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| 
|   ;
|   return 0;
| }
configure:3909: error: in `/var/folders/z0/b8yxnpm16453xgxygv1cq1b40000gn/T/ruby-build.20140212001735.11051/ruby-2.1.0':
configure:3911: error: C compiler cannot create executables
See `config.log' for more details

追記 : 無事成功しました!

macのユーザーを別名で作り、そっちの環境で同じ操作を行ったらインストール成功しました!

管理者ユーザーのホームディレクトリ名にスペースが入っていたのですが、それが何らかの悪さをしていたのではないかと思われます。("hogehoge 1"のようなホーム名でした。)

rvmではパスに警告があった事から、別ユーザー作成してやってみたという経緯です。
あまりほかの方には参考にならない結果かも知れず大変恐縮です。
(回答頂いた皆様、大変ありがとうございました!)

回答

https://github.com/sstephenson/rbenv/issues/481
正しい解決方法かどうか不明ですが、上記のページで似たような問題が

sudo ln -sf /usr/bin/llvm-gcc-4.2 /usr/bin/gcc-4.2

で解決しているようです。

編集 履歴 (1)
  • ご回答ありがとうございます!
    仰る通り、同じ症状のように思われます。
    早速コマンド実行してみましたが、ダメでした…。もう1回やり直すのがいいのでしょうか…。
    -

config.log の内容を質問本体へ補足させて頂きました。
よろしくお願い致します。

編集 履歴 (1)

config.logを見てみるのが一番いいとは思います。
エラーで出ているフォルダ /var/folders/z0/b8yxnpm16453xgxygv1cq1b40000gn/T/ruby-build.20140211175432.6337/
付近に見つけられれば、それを参照して実際のエラーを見たほうがいいでしょう。
(場所はちょっと自信ないです。)


私がこの間インストールしてみた時は
homebrewをインストールし、

$ brew doctor

でbrewの状態を確認して、問題があれば解決。

$ brew install rbenv
$ echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.profile
$ brew install ruby-build
$ brew install rbenv-gemset
$ brew install rbenv-gem-rehash
$ brew install apple-gcc42
$ rbenv install 2.1.0

でインストールしました。
私は~/.profileにしていますが、環境にあわせて変えてください。
https://github.com/sstephenson/rbenv#basic-github-checkout

なお、XCode Command Line Toolsはインストール済み。
参考までに。

編集 履歴 (1)
  • ご回答ありがとうございます!
    そのコマンドを全て実行してみましたが、結果は同じエラーでした。

    brew doctor の結果は問題なしでした。
    (なお、echoのコマンドは、~/.profileと~/.bash_profileと両方に実行しました。)

    config.logも見つけました。内容は、質問の本文へ追記させて頂きます!
    -
ウォッチ

この質問への回答やコメントをメールでお知らせします。