PythonやRubyの環境を整えようと思うと、「llvm-gccとgccとの違い」が気になってきました。その中で、
と言うサイトは、参考になりそうです。が、私の所
とは;
- Mac mini(mid 2011)
- Lion 10.7.3(11D50)
- Xcode 4.1(4B110)
と微妙に違うので、比較の為には自分の情報を整理してみる必要がありそうです。
「/usr/bin」でのgcc関連を調べてみた;
div-mm:/usr/bin u1$ lla |grep gcc
lrwxr-xr-x 1 root wheel 12 10 1 11:49 cc@ -> llvm-gcc-4.2
lrwxr-xr-x 1 root wheel 12 10 1 11:49 gcc@ -> llvm-gcc-4.2
-rwxr-xr-x 1 root wheel 113024 5 16 2011 gcc-4.2*
-rwxr-xr-x 1 root wheel 562992 5 16 2011 i686-apple-darwin11-gcc-4.2.1*
lrwxr-xr-x 1 root admin 52 10 1 11:48 i686-apple-darwin11-llvm-g++-4.2@ -> ../llvm-gcc-4.2/bin/i686-apple-darwin11-llvm-g++-4.2
lrwxr-xr-x 1 root admin 52 10 1 11:48 i686-apple-darwin11-llvm-gcc-4.2@ -> ../llvm-gcc-4.2/bin/i686-apple-darwin11-llvm-gcc-4.2
lrwxr-xr-x 1 root admin 32 10 1 11:48 llvm-cpp-4.2@ -> ../llvm-gcc-4.2/bin/llvm-cpp-4.2
lrwxr-xr-x 1 root admin 32 10 1 11:48 llvm-g++@ -> ../llvm-gcc-4.2/bin/llvm-g++-4.2
lrwxr-xr-x 1 root admin 32 10 1 11:48 llvm-g++-4.2@ -> ../llvm-gcc-4.2/bin/llvm-g++-4.2
lrwxr-xr-x 1 root admin 32 10 1 11:48 llvm-gcc@ -> ../llvm-gcc-4.2/bin/llvm-gcc-4.2
lrwxr-xr-x 1 root admin 32 10 1 11:48 llvm-gcc-4.2@ -> ../llvm-gcc-4.2/bin/llvm-gcc-4.2
div-mm:/usr/bin u1$
このように、自分のLionでは、gcc-4.2もllvm-gccも存在している。けれど、gccはllvm-gccにシンボリック・リンクされている。gcc-4.2が存在するのは、Xcode4.1で留めているからそうなっているのかもしれない。従って、
- Xcode4.2に上げても、gcc-4.2を上記サイトを参考にインストールすれば良いだけかもしれない。
- Lion10.7.3では強い障害が起る場合が散見するが、自分の所はあまり大事はおこっていないのは、gcc-4.2があるお陰か???
- 小さな障害として、Docのアイコンを右クリックしてオプションから
- 「このデスクトップ 」→ 固定成功。
- 「すべてのデスクトップ」→ 開いたデスクトップに固定されて、駄目。
なお、直接にヴァージョン情報を見てみたら;
div-mm:~ u1$ gcc-4.2 --version
i686-apple-darwin11-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3)
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.
div-mm:~ u1$ gcc --version
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.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.
div-mm:~ u1$
参考の為に、IMac(late 2009)で、「Snow Leopard 10.6.8」についても調べてみた;
curl:~ u1$ lla /usr/bin/ |grep gcc
lrwxr-xr-x 1 root wheel 7 7 22 2011 cc@ -> gcc-4.2
lrwxr-xr-x 1 root wheel 7 7 22 2011 gcc@ -> gcc-4.2
-rwxr-xr-x 1 root wheel 97392 10 24 2010 gcc-4.0*
-rwxr-xr-x 1 root wheel 166128 10 24 2010 gcc-4.2*
-rwxr-xr-x 1 root wheel 369696 10 24 2010 i686-apple-darwin10-gcc-4.0.1*
-rwxr-xr-x 1 root wheel 816560 10 24 2010 i686-apple-darwin10-gcc-4.2.1*
lrwxr-xr-x 1 root admin 52 7 22 2011 i686-apple-darwin10-llvm-g++-4.2@ -> ../llvm-gcc-4.2/bin/i686-apple-darwin10-llvm-g++-4.2
lrwxr-xr-x 1 root admin 52 7 22 2011 i686-apple-darwin10-llvm-gcc-4.2@ -> ../llvm-gcc-4.2/bin/i686-apple-darwin10-llvm-gcc-4.2
lrwxr-xr-x 1 root admin 32 7 22 2011 llvm-cpp-4.2@ -> ../llvm-gcc-4.2/bin/llvm-cpp-4.2
lrwxr-xr-x 1 root admin 32 7 22 2011 llvm-g++@ -> ../llvm-gcc-4.2/bin/llvm-g++-4.2
lrwxr-xr-x 1 root admin 32 7 22 2011 llvm-g++-4.2@ -> ../llvm-gcc-4.2/bin/llvm-g++-4.2
lrwxr-xr-x 1 root admin 32 7 22 2011 llvm-gcc@ -> ../llvm-gcc-4.2/bin/llvm-gcc-4.2
lrwxr-xr-x 1 root admin 32 7 22 2011 llvm-gcc-4.2@ -> ../llvm-gcc-4.2/bin/llvm-gcc-4.2
-rwxr-xr-x 1 root wheel 373792 10 24 2010 powerpc-apple-darwin10-gcc-4.0.1*
-rwxr-xr-x 1 root wheel 820496 10 24 2010 powerpc-apple-darwin10-gcc-4.2.1*
lrwxr-xr-x 1 root admin 55 7 22 2011 powerpc-apple-darwin10-llvm-g++-4.2@ -> ../llvm-gcc-4.2/bin/powerpc-apple-darwin10-llvm-g++-4.2
lrwxr-xr-x 1 root admin 55 7 22 2011 powerpc-apple-darwin10-llvm-gcc-4.2@ -> ../llvm-gcc-4.2/bin/powerpc-apple-darwin10-llvm-gcc-4.2
curl:~ u1$
確かに雪豹ではgccはgcc-4.2にシンボリック・リンクされている。 llvm-gcc-4.2も在るが、gcc-4.0もまだあるようだ。
Wikipediaで調べてみると、LLVM → Clang;
と言う伸展があるらしい。そこでターミナルを叩くと;
div-mm:~ u1$ which clang
/usr/bin/clang
div-mm:~ u1$ man clang
div-mm:~ u1$ clang --version
Apple clang version 2.1 (tags/Apple/clang-163.7.1) (based on LLVM 3.0svn)
Target: x86_64-apple-darwin11.3.0
Thread model: posix
div-mm:~ u1$ ll /usr/bin/ |grep clang
-rwxrwxr-x 1 root admin 39612800 6 22 2011 clang*
lrwxr-xr-x 1 root admin 5 10 1 11:48 clang++@ -> clang
div-mm:~ u1$
なんと「巨大なclang」が既に実装されているようだ。全然理解できていないが、面白そうだなぁ。
ーーーー
このポストの履歴
- 開始 2012-02-15 (水) 18:39
- 追加 2012-02-16 (木) 13:05 「巨大なclang」