udon's blog

思いついたことを、思いついた時に。忘れないように。

MacPortsでgcc 4.7を。

・・・。わかりにくいぞ。

前にTDDBC大阪でboost/c++11という、まぁ、なんというか魔法みたいなのを触ったんですが、gccのバージョン4.7が必要だったんですね。

でもまぁ、手持ちのMacのデフォルトは4.2でして。

datsuns% gcc --version
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.9.00)
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.

あい。4.2ですね。

で、その場で4.7はインストールしたんですが、切り替えが上手く行かず・・・。

datsuns% port installed | grep
gcc47 @4.7.0_3
gcc47 @4.7.1_2 (active)
gcc48 @4.8-20120527_1
gcc48 @4.8-20120729_0 (active)

インストールはできてるけど、切り替え方がわからん・・・。
で、ぱっと探すとgcc_selectっつうのがあったので入れたんですが、

datsuns% port installed | grep gcc_select
gcc_select @0.1_5
gcc_select @0.1_6 (active)
datsuns% gcc_select
zsh: command not found: gcc_select

がー。。。
で、今頃になってようやく答えが見つかりました。


#29531 (_select ports no longer provide _select binary)
– MacPorts

You should check port select --list gcc first. You want to run port select gcc mp-gcc45.

あー。portにその機能があったんですね。。。

datsuns% sudo port select --list gcc
Available versions for gcc:
gcc42
llvm-gcc42
mp-gcc47
mp-gcc48
none (active)
datsuns% sudo port select gcc mp-gcc47
Selecting 'mp-gcc47' for 'gcc' succeeded. 'mp-gcc47' is now active.
datsuns% gcc --version
gcc-mp-4.7: error trying to exec '/opt/local/bin/i686-apple-darwin11-llvm-gcc-4.2': execvp: No such file or directory

・・・あれ?
なんかでもターミナル立ち上げなおしたら直しました。

datsuns% gcc --version
gcc (MacPorts gcc47 4.7.1_2) 4.7.1
Copyright (C) 2012 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.

ま、まぁとりあえずこれでいけるかな。