Mac

Mac mini late 2012を買ってきた。

やったことを順番に書いていく。

  • ソフトウェアアップデート→すべてアップデート
  • 設定→セキュリティとプライバシー→すべてのアプリケーションを許可
  • 設定→共有→画面共有→VNCを許可
  • XCode4の最新版のインストール
  • Command Line Tools for Xcodeの最新版のインストール
  • macport のインストール
  • sudo port selfupdate
  • sudo port sync
  • sudo port install subversion
  • svn checkout http://bl-system.googlecode.com/svn/trunk/ BL
  • sudo port search boost
  • sudo port variants boost
  • sudo port install boost -no_single -no_static -python27 +python33 +universal
  • sudo port variants gcc47
  • sudo port install gcc47 +universal
  • ls -l /usr/bin/gcc
  • sudo unlink /usr/bin/gcc
  • sudo ln -s /opt/local/bin/gcc-mp-4.7 /usr/bin/gcc
  • ls -l /usr/bin/g++
  • sudo unlink /usr/bin/g++
  • sudo ln -s /opt/local/bin/gcc-mp-4.7 /usr/bin/g++

分かったこと
  • BlenderのMac版はPythonをstatic linkしているため、internal pythonでboost::pythonを使用しているライブラリをimportするとこける。
  • これを回避するにはBlenderを独自ビルドしてPythonをdynamic linkするしかない。boost::python用にPythonを独自ビルドしてstatic linkしても無駄。
  • libstdc++をstatic linkしてみたかったが、(たぶん)RTTIを使用している場合、リンク時のオプションに-static-libstdc++などを付けても無視され、dynamic linkされる。特にxcodeのgccは、同オプションが100%無視される(たぶん)。
  • xcodeのgccは、MSのインラインアセンブラを解決するために独自オプションがある。(-fasm-blocks)
  • xcodeのgccは、同じライブラリディレクトリに.aと.dylibがあった場合.dylibを優先するようだ。
  • Netbeans + 非xcodeなgccの組み合わせがかなり良い。

Comments