ちょっとした野暮用で、Mac OS X(Lion)にRuby on Rails 3.2の開発環境を構築することになったのだけど結構ハマった。のでメモ。
ひとまず、
[c]
sasaki% rvm install 1.9.2-p320
The provided CC(/usr/bin/gcc) is LLVM based, it is not yet fully supported by ruby and gems, please read `rvm requirements`.
[/c]
と怒られる。調べてみると、どうやらlionからデフォのCCが本家GCCではなくLLVM basedなものになっているらしい。本家GCCをダウンロード&インストールして、CCを書き換え。
[c]
sasaki$ echo "export CC=/usr/bin/gcc-4.2" >> ~/.bash_profile
[/c]
いったんゴミを消して、改めてrvm install 1.9.2してみる。
[c]
sasaki$ rvm remove 1.9.2-p320
sasaki% rvm install 1.9.2-p320
[/c]
そしたら、readlineのbuildでコケるので、logを見る。
[c]
sasaki$ vi /Users/sasaki/.rvm/log/ruby-1.9.3-p0/make.log
[/c]
該当部分は下記の通り。
[c]
compiling readline.c
readline.c: In function ‘username_completion_proc_call’:
readline.c:1472: error: ‘username_completion_function’ undeclared (first use in this function)
readline.c:1472: error: (Each undeclared identifier is reported only once
readline.c:1472: error: for each function it appears in.)
make[2]: *** [readline.o] Error 1
make[1]: *** [ext/readline/all] Error 2
make: *** [build-ext] Error 2
[/c]
これも世界に聞いてみると、readlineだけ別buildすれば良いとのことなので、
[c]
sasaki$ rvm pkg install readline
[/c]
で、ビタmakeできた。その後、ようやく
[c]
sasaki$ rvm remove 1.9.2-p320
sasaki% rvm install 1.9.2-p320
(略)
Install of ruby-1.9.2-p320 – #complete
[/c]
で、完了。