コンパイルがうまくいかないパッケージは使用するコンパイラを手動で切り替えたらうまくいった。ビルドに使用するコンパイラを切り替える方法はここで説明されている。
コンパイラを変更してビルドするときは、必ずビルドの前にcleanを実行すること。たとえば
sudo port clean emacs-app
emacs-appはapple-gcc42を使用したらビルドできた。+universalをつけるとコンパイルできなかった。
sudo port install emacs-app configure.compiler=apple-gcc-4.2
apple-gcc42をインストールしていない場合は、それも入れること。自動では依存性を解決してくれないようだ。これも+universalはビルド出来なかった。
sudo port install apple-gcc42
LionになってOpenMPIがなぜか削除されてしまったので、MacPortsでOpenMPIをインストール。デフォルトのコンパイラだとビルド出来ない。
sudo port install openmpi +gcc44 configure.compiler=macports-gcc-4.4
もし+gcc45にするなら、configure.compiler=macports-gcc-4.5にすること。ちなみに、使用するときはmpicc, mpicxx, mpirunなどは、openmpicc, openmpicxx, openmpirunなどに名前が変わっているので注意。前の名前でシンボリックリンクを作っておくと良いかも。
GnuplotのwxWidgets出力をする方法がわからなかったのだけど、やっとできた。
sudo port install gnuplot +wxwidgets build_arch=i386 configure.compiler=apple-gcc-4.2
起動したら
set term wxt
でwxwidgets出力になる。でもやってみたら、ウィンドウがまったく反応しない。使えない…
MacPortsからすこしずれるけれど、wxPythonはどうしてもMacPortsではインストールできなかった。公式サイトからダウンロードする。
pythonのバージョンが指定されているようなので、使うバージョンのpythonをMacPortsで入れておくこと。32bitで起動する必要があるので+universalをつけてビルドする。あと、wxWidgetsもMacPortsでいれておく。
そしたら先ほどダウンロードしたwxPythonをインストール。
wxPythonが扱えるバージョンのpythonを次のように起動する。
arch -i386 python2.6
arch -i386は64bitとしてではなく32bitで起動させるという意味。おそらくPythonをUniversal Binaryでビルドしていないとだめ。
pythonの中で
import wx
をして、何もエラーがでなければ、正常にインストールされた証拠。
pythonでGUIを作れるようになったので、何かつくろうかなあ。