[Ruby] rbenv で ruby インストール時に BUILD FAILED と言われた場合の対処法

最新版の 2.0.0-p247 を入れてみようとしたところ、

% rbenv install 2.0.0-p247
Downloading ruby-2.0.0-p247.tar.gz...
-> http://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p247.tar.gz
Installing ruby-2.0.0-p247...
BUILD FAILED
Inspect or clean up the working tree at /var/folders/hj/908kn5w57x3152grk2mt2rrh0000gn/T/ruby-build.20130630155727.45030
Results logged to /var/folders/hj/908kn5w57x3152grk2mt2rrh0000gn/T/ruby-build.20130630155727.45030.log
Last 10 log lines:
In file included from ./include/ruby/ruby.h:1568,
                 from ./include/ruby.h:33,
                 from main.c:13:
./include/ruby/intern.h:32:22: error: varargs.h: No such file or directory
In file included from ./include/ruby/ruby.h:1568,
                 from dmydln.c:1:
./include/ruby/intern.h:32:22: error: varargs.h: No such file or directory
make: *** [dmydln.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [main.o] Error 1

どうやら gcc まわりで失敗している模様。
ググったところ、Mac OS X Lion 以降に環境が変わったりしたようで、下記からインストールしたという言及がチラホラ。

エラーなどから自分の環境では問題なさそうな気がするので、調べてみる。

% ls -al /usr/bin/gcc
lrwxr-xr-x  1 root  wheel  12  4 24 14:34 /usr/bin/gcc@ -> llvm-gcc-4.2
 /usr/bin/gcc -v
Using built-in specs.
Target: i686-apple-darwin11
Configured with: /private/var/tmp/llvmgcc42/llvmgcc42-2336.11~182/src/configure --disable-checking --enable-werror --prefix=/Applications/Xcode.app/Contents/Developer/usr/llvm-gcc-4.2 --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-prefix=llvm- --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin11 --enable-llvm=/private/var/tmp/llvmgcc42/llvmgcc42-2336.11~182/dst-llvmCore/Developer/usr/local --program-prefix=i686-apple-darwin11- --host=x86_64-apple-darwin11 --target=i686-apple-darwin11 --with-gxx-include-dir=/usr/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)

問題なさそうなので、rbenv で明示的に /usr/bin/gcc を使ってもらう方法を調べたところ、こちらのサイトを発見。

明示的にLLVM GCCコンパイラを利用するように環境変数を設定します。」とまさにドンピシャな内容でした。ありがとうございます。

% export CC=/usr/bin/gcc
% rbenv install 2.0.0-p247
Downloading ruby-2.0.0-p247.tar.gz...
-> http://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p247.tar.gz
Installing ruby-2.0.0-p247...
Installed ruby-2.0.0-p247 to /Users/***/.rbenv/versions/2.0.0-p247
% rbenv versions
  system
* 1.9.3-p448 (set by /Users/***/.rbenv/version)
  2.0.0-p247

無事インストールできました。
完熟トマトさんの内容が素晴らしく分かりやすいので、こちらを参考にすればハッピーになれますね。