Mac OS X 10.4 でoctave, gnudatalanguage, ncargのコンパイルに問題があるようだ. Tigerにさらからインストールしてみる.
Ports treeはrsyncでもよいが, 更新が遅いのでここではsubversionを使うことにする. 通常はそのようにする必要はない. rsyncのports treeもしばらくすればアップデートされる
Tigerにはsubversionは入っていないので, まずsubversionをインストールする.
sudo port -d sync sudo port -d install subversion
/opt/local/etc/macports/sources.conf
を編集.
file:///Library/MacPorts/ports [default]
を追加し, rsyncのエントリをコメントアウト. Ports treeを取得する.
mkdir /Library/MacPorts/ cd /Library/MacPorts svn checkout http://svn.macports.org/repository/macports/trunk/dports ports
パッケージのインストール. まずはgrads.
sudo port -d install grads
途中でgcc43がビルドされるので時間がかかる. でも, port dependentsには出てこない. どこかでdepends_buildになっているのだろうか. gradsの動作確認. TigerではX11は手動で起動. 環境変数の設定も必要.
export DISPLAY=local:0.0 export GADDIR=/opt/local/share/grads
LeopardではDISPLAYは設定しない. Xが必要になると, 自動的に起動する. ドックにX11.appをおいておく必要はないし, おくべきではない.
インストーラーでMacPortsをインストールすると, .bash_profileが書き換えられ, PATHに/opt/local/binが追加される. にもかかわらず, Tigerのxtermでは, portコマンドが見つからない. これはX11起動時も, xterm起動時も.bash_profileが読み込まれないためである. X11の「アプリケーション>ターミナル>メニューをカスタマイズ」の「コマンド」にオプション-lsを与える. このようにすると, xtermを起動すると, .bash_profileが読み込まれるようになる. ターミナル (Terminal.app) にはこの問題はない.
ncargは, OPeNDAP対応にするとlibmfhdf.aとlibnc-dap.dylibの_cdf_routine_nameが衝突してしまう. Nclのソースでは使っていないようだが. OPeNDAP対応のTigerバイナリはなさそうなので, うまくいかないのかもしれない. Tigerでは, OPeNDAPはあきらめ, Portfileを変更してコミットした.
今度はnclのビルドが成功し, うまくインストールできるはずである. 遠隔サーバへの接続はできないが, OPeNDAPサーバのデータが全く使えなくなる訳ではない. クイックルックにはgradsのgradsdods, あるいはgrads2のgradsdapが使える. 解析のためには, ncoのncksを使って必要な部分を切り出してダウンロードすればよい.
sudo port -d install ncarg +g95
ncoをインストール.
sudo port -d install nco
GSLをビルドするので時間がかかる. cdoのコンパイルはすぐに終わるはずである.
sudo port -d install cdo
Octaveは少しPortfileに手を入れた (関連記事). コミットされてからインストールした方がいいだろう. コンパイルにはかなり時間がかかる.
sudo port -d install octave +g95
gnudatalanguageの描画には, plplotが使われている. plplotはswigに依存しているのだが, デフォルトでたくさんのスクリプト言語に対応する. 不要な場合は, 取り除くとコンパイルが早くすむ. 特にphp5はapacheもインストールするので時間がかかる. 既にphp5などがインストールされている場合は, 取り除く必要はない.
gnudatalanguageが依存しているpython25, py25-numarrayをビルド, インストールするがあまり時間はかからない
sudo port -d install swig -python -perl -ruby -php5 sudo port -d install gnudatalanguage +proj +g95
gradsの代わりにgrads2でもよいかもしれない. アンサンブルに対応しているほか, Google Earthに貼るためのKMLファイルを出力できる. ncarg同様にlibnc-dapとlibmfhdfとで_cdf_routine_nameが衝突していたので, TigerではOPeNDAP非対応とした.
sudo port -d install grads2
grads2のコマンドには, grads-2のように-2がついている. GADDIRはgrads2用にする.
export GADDIR=/opt/local/share/grads2