Mavericks で bundle install すると libv8 のインストールでコケる

いろいろエラーで怒られるのだけど、結論からいうと

brew install apple-gcc42

するのが一番はやい。

Xcodeをインストールしなおしたり、 真面目にエラーを追いかけて、

brew install v8

したり、

gem install libv8 -v '3.11.8.17' -- --with-system-v8

してみたり、gccは4.4以上がいいとか提案してくるので

brew tap homebrew/versions
brew install gcc48

とかしてみたものの、

今度は

g++: error: unrecognized command line option '-Wnewline-eof'

とかエラーを吐いてくる。

この-Wnewline-eofってオプションはMac専用らしく、 brewコマンドでインストールしたgcc48では解釈できないらしい。

ということでapple-gcc42を入れてみたら一発でbundleできました。

追記

apple-gcc42を入れたあとに、gcc -vして以下の表示ならない場合(Xcodegccにリンクしてたりする場合)は

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)

シンボリックリンクを貼り直すと良い。

sudo ln -sf /usr/local/bin/gcc-4.2 /usr/bin/gcc
sudo ln -sf /usr/local/bin/g++-4.2 /usr/bin/g++