GCCが... 無い...!

Xcode 4.2のあるバージョンを以降を入れるとgccが消えるようです。つまり、

$ ls /usr/bin/gcc
/usr/bin/gcc -> llvm-gcc-4.2

「えっ」
「聞いてない…」

となるわけです。 でも、Appleは散々gccはオワコンと言っているので復活する兆しは無いでしょう。このへんはgccのライセンス周りが大きく影響してそうです。 で、困るのは今後標準になるclangは色々エラー出まくるとか、llvm-gccが微妙にgccと違う挙動をするとか、あぁ、もう今そういう問題に付き合ってる暇はないんだよおおぉぉ!ってなるわけです。

でも、無い物はない。困った。 そこで、一番手抜きな方法でgcc-4.2だけをいっこ前のXcodeから入れましょう。

  1. Xcode 4.1を用意します。App StoreのXcodeは4.2になってしまっていますがここからダウンロードできます(デベロッパ登録が必要です。)

  2. インストーラーからgcc4.2.pkgを取り出して単体でインストールする。

簡単ですね。ちなみに/usr/bin/gcov-4.2だけが衝突して上書きされるので、元のgcov-4.2(../llvm-gcc-4.2/bin/gcov-4.2へのシンボリックリンク)を気になる人は避けておくとよいかも。 どんなファイルがインストールされるのか知りたい場合は、

$ pkgutil --payload-files gcc4.2.pkg
.
./usr
...
./usr/libexec/gcc
./usr/bin/c++-4.2
./usr/bin/cpp-4.2
...

とすればわかります。


10/15, 2011更新: App StoreのXcodeは4.2になってしまっているので、Xcode 4.1の入手先を明記しました。