dpp-snowleopard-*.pkg のファイルのインストーラーの形で提供していた Private Ports tree が MacPorts-JP の SVN レポジトリ 経由で導入できるようになりました. (MacPorts-JP は日本の MacPorts ユーザー有志によって運営されている, 本家 MacPorts 非公式のプロジェクトです.)
これにより,
従来のdpp-snowleopard-*.pkg をご利用いただいていた方はこちらの案内に従って移行して頂くようお願いします.
また, 将来 MacPorts 本家への登録を目指して, 一部のport名を変更しました.
ここでは Mac OSX の UNIX パッケージシステム Mac Ports を利用して, 地球流体電脳倶楽部のツール群をインストールする方法を次の手順で紹介します.
各種問い合わせは 山本 博基( hirokimac アット users.sourceforge.jp )までお願いします. トラブル対応等, 気軽にご相談ください.
テスト環境は Mac OSX Snow Leopard 10.6.6, Xcode 3.2.6 (2011年3月11日現在)です.
MacPort を入れるにあたり OSX 開発環境 Xcode をインストールする必要があります. ここからダウンロード(無料会員登録が必要)するか, OSXのインストールディスクからインストールします.
*2011年3月11日現在, 無料で入手できる Xcode は ver. 3.2.6 です. Xcode ver. 4 が Mac App Store から600円で購入可能ですが, 動作未検証です.
最新版の MacPorts をここからダウンロードする. これもダウンロードが終わればインストーラが立ち上がるので, それに従ってインストールします. MacPorts は/opt以下にインストールされます.
*ネットワークにプロキシの設定が必要な場合はこちらを参照して下さい → プロキシの設定
MacPorts がインストールされたらターミナルを立ち上げて
$ port info macports
と実行して下さい.
MacPorts @1.9.2 (sysutils) Variants: keep_prefix, universal Description: MacPorts provides the infrastructure that allows easy installation and management of freely available software on Mac OS X 10.4 or newer systems. Homepage: http://www.macports.org/ Platforms: darwin, freebsd License: unknown Maintainers: macports-mgr@lists.macosforge.org
と表示されたら成功です.
$ port: command not found
などと表示される場合は, PATH が通ってないので $PATHに
/opt/local/bin:/opt/local/sbin
を追加します. UNIXに不慣れな方はターミナル上で
$ export PATH=/opt/local/bin:/opt/local/sbin:\$PATH
と実行して下さい.
まずはじめに portindex を更新します.
$ sudo port -d sync
(-d はデバックメッセージ出力オプション) これで MacPorts を ports tree が最新の状態になります. ports tree を最新の状態に保つために定期的に上記のコマンドを実行してください.
欲しいパッケージを探すときは
$ port search hoge
とすれば, 文字列 hoge が含まれるパッケージ名が表示されます. パッケージの詳しい情報は
$ port info package名
とすることで分かります. パッケージをインストールするときは
$ sudo port install package名
とします. 依存するパッケージ同時にインストールされます. より詳しい使用法は MacWiki:MacPorts などを参考にして下さい.
任意のディレクトリに MacPorts-JP のソースツリーをコピーします. 以下ではホーム以下に Sources というディレクトリを作って, その下にソースツリーをコピーします.
$ mkdir ~/Sources $ cd ~/Sources $ svn checkout http://svn.sourceforge.jp/svnroot/macports-jp/trunk macports-jp-trunk
コピーしたソースツリーを source.conf に登録します.
$ sudo emacs /opt/local/etc/macports/source.conf
でエディタを起動して, 以下のように4行目を追加します.
# NOTE: The port command parses source URLs in order and installs the # first occurrance when a port appears in multiple repositories. # So keep "file://" URLs above other URL types. file://~/Sources/macports-jp-trunk/dports # To get the ports tree from the master MacPorts server in California, USA use: # rsync://rsync.macports.org/release/ports/ # To get it from the mirror in Trondheim, Norway use: # rsync://trd.no.rsync.macports.org/release/ports/ # A current list of mirrors is available at http://trac.macports.org/wiki/Mirrors rsync://rsync.macports.org/release/ports/ [default]
これで, source.conf への登録は完了しました.
以後は,
$ sudo port -d sync
を実行するたびに, $HOME/Sources/macports-jp-trunk/dports 以下が svn update されて更新され, MacPorts-JP のソースツリーが最新の状態に保たれます. svn update を回避したい場合は, 下記のように [nosync] を追加します.
file://~/Sources/macports-jp-trunk/dports [nosync]
この場合, 電脳製品を最新版に更新する際には, $HOME/Sources/macports-jp-trunk/dports で
$ svn up
を実行して、MacPorts-JP のソースツリーを更新する必要があります.
電脳製品 (例えばGPhys) をインストールする場合は
$ sudo port install rb-gphys
を実行するだけで, 依存ライブラリを含めて全て, MacPortsがコンパイルしてインストールしてくれます.
*ただし, gtk2などの大きなライブラリに依存するため, コンパイルに長い時間(数時間)がかかる場合があります.
MacPorts-JP の SVN レポジトリには 以下の電脳倶楽部製品の ports が登録されています.
Ports名 | ソフトウェア | 説明 |
DCL | DCL | FORTRAN版地球流体電脳倶楽部ライブラリ |
C-DCL | DCL/C | C 言語版地球流体電脳倶楽部ライブラリ |
rb-gphys | Gphys | グリッドデータを扱うための Ruby ライブラリ |
rb-gpcommands | Gphys: commands | Gphys付属のgp*コマンド群 |
rb-narray_miss | NArrayMiss | NArrayで欠損値を扱えるようにする拡張 |
rb-numru-misc | NumRu/Misc | 様々な関数の Ruby インターフェース |
rb-numru-units | NumRu/Units | 単位を扱うための Ruby ライブラリ |
rb-dcl | Ruby/DCL | 地球流体電脳倶楽部ライブラリの Ruby インターフェース |
rb-netcdf | Ruby/NetCDF | NetCDF の Ruby インターフェース |
rb-fftw3 | Ruby-FFTW3 | FFTW3のRubyインターフェース |
rb-lapack | Ruby-LAPACK | LAPACKのRubyインターフェース |
rb-gfdnavi_utils | gfdnavi_utils | Gfdnavi用のライブラリ |
*rb-gfdavi_utils を installl するとGfdnaviサーバーを立ち上げるために必要な資源がインストールされます.
一旦, dpp-snowleopard-*.pkgを利用して導入された ports を全て uninstall して下さい.
$ sudo port uninstall rb-gphysなど
その後, /opt/myports/ ディレクトリをゴミ箱に捨てて下さい.
source.conf に加えた変更を元に戻す.
$ sudo cp /opt/local/etc/macports/sources.conf.default /opt/local/etc/macports/sources.conf
この上で, MacPorts-JP の SVN レポジトリ を check out して source.conf に登録する に従って 電脳製品を再インストール願います.
主な原因:依存関係の不整合や Xcode のバージョンの違い
回避策:
主な原因:ご利用のネットワーク環境が, プロキシが必要な場合・rsyncのポートが空いていない場合には, port sync に失敗します.
回避策:
原因(1):MacPorts が make を実行する際に parallel build を使用として失敗している.
回避策(1):
$ sudo port clean port名
としたのち
$ sudo port edit port名
として該当portのportfileを開いて(デフォルトではvimで開く;環境変数EDITORでエディタ指定) 適当な場所に
use_parallel_build no
と一行追記する. 再びinstall.
ターミナルで以下のように入力する.
$ svn help
するとホームディレクトリ以下に .subversion/servers というファイルが出来るので, これを以下のように書き換えます. 下の方で
[global] # http-proxy-exceptions = *.exception.com, www.internal-site.org # http-proxy-host = defaultproxy.whatever.com # http-proxy-port = 7000 # http-proxy-username = defaultusername
となっているのを
[global] # http-proxy-exceptions = *.exception.com, www.internal-site.org http-proxy-host = プロキシサーバのアドレス http-proxy-port = ポート番号 # http-proxy-username = defaultusername
と変更します. するとsvn co が通るようになるはずですので, 以下を実行します.
$ svn co http://svn.macports.org/repository/macports/trunk $ cd trunk/base $ ./configure $ make $ sudo make install
MacPortsはデフォルトでは/opt以下にインストールされます.
インストールされたら$PATHに
/opt/local/bin:/opt/local/sbin
を追加します. UNIXに不慣れな方はターミナル上で
$ export PATH=/opt/local/bin:/opt/local/sbin:$PATH
と実行して下さい.
PATHを通したらportindexを更新します. 通常, MacPortsはrsyncを用いてportindexを更新しますが, 残念ながらMacPortsはver 1.5以降, プロキシ内からのrsyncが出来なくなっています. そこで設定ファイル /opt/local/etc/macports/source.conf の一番下
# To get the ports tree from the MacPorts rsync.macports.org server use: # rsync://rsync.macports.org/release/ports/ rsync://rsync.macports.org/release/ports/
となっている部分を
# To get the ports tree from the MacPorts rsync.macports.org server use: # rsync://rsync.macports.org/release/ports/ #rsync://rsync.macports.org/release/ports/ file:///Users/ユーザ名/trunk/dports/
と書き換えます. (注:上記はtrunkをホームディレクトリに置いた場合)
そして以下を実行します.
$ sudo port -d sync
(-d はデバックメッセージ出力オプション) これでMacPortsを利用する準備が整います.
ただしプロキシが必要な場合は, 以下のようにプロキシを指定してパッケージをインストールします.
$ sudo env http_proxy=http://プロキシサーバのアドレス:ポート番号 port -d install package名