MacPortsでlablgtk2をインストールするときはFindlibに手動で登録しよう

背景

  • MacPorts は、 OCaml周りのいろんなライブラリのダウンロード・ビルド・インストールを "port install パッケージ名" 一発でこなしてくれる。
  • Findlib に、 OCaml のライブラリを登録しておけば、 "ocamlfind ocamlc -package パッケージ名" で パッケージに必要なコマンドラインオプションを含めてコンパイルしてくれる。

問題

  • MacPortsで lablgtk2をインストール ("port install lablgtk2") しても、Findlib には lablgtk2が登録されない。 ocamlfind list で出力される一覧に lablgtk2が出てこない。 (私の環境ではそう)
  • 結果として、 ocamlfind をつかって lablgtk2 をインポートしているソフトウェアはインストールできない。

解法

  • lablgtk2 には METAファイルがついてくるので、手動でocamlfind にインストールする。 具体的には以下のようにする:
 cd /tmp
 tar zxf lablgtk-2.12.0.tar.gz
 cd /opt/local/lib/ocaml/
 ocamlfind install lablgtk2 /tmp/lablgtk-2.12.0/META lablgtk.cma 

本来なら

Portfile を直してもらうのがいいんだけど