03 Jun 2009

CGALのインストール

研究で使えそうなので、計算幾何のライブラリ CGAL をインストールしました。

CGAL - Computational Geometry Algorithms Library

CGALとは

CGAL(Computational Geometry Algorithms Library)はオープンソースの計算幾何ライブラリです。Unix-likeなOSとWindowsプラットフォームで提供されています。言語はC++ですが、pythonのバインディングも存在します。ヨーロッパとイスラエルの研究機関によって開発が進められており、また多くの使用実績があるため、信頼性は高いと考えられます。

インストール

まずはパッケージをダウンロード、展開します。

Downloading CGAL

次に、展開されたディレクトリ内のINSTALL.MacOSXというファイルを見ます。インストールに必要な情報は基本的にここを見ればわかります。

INSTALL.MacOSXによると、CGALのインストールには以下のライブラリが必要です。

  • Boost
  • GMP and MPFR
  • Qt3

全てmacportsから提供されているので、portを使ってインストールします。

$ sudo port install boost
$ sudo port install gmp
$ sudo port install mpfr
$ sudo port install qt3

ライブラリの準備ができたところで、インストールします。インストールには、CGALのルートにあるinstall_cgalというスクリプトを使います。

$ ./install_cgal -ni g++

僕の環境の場合、/opt以下のライブラリへパスを通していなかったので、以下のようにしてオプションを追加しました。長いですが一行です。

mac% ./install_cgal -ni g++ --BOOST_INCL_DIR /opt/local/include --BOOST_LIB_DIR /opt/local/lib /opt/local/lib --GMP_INCL_DIR /opt/local/include --GMP_LIB_DIR /opt/local/lib --GMPXX_INCL_DIR /opt/local/include --GMPXX_LIB_DIR /opt/local/lib --MPFR_INCL_DIR /opt/local/include --MPFR_LIB_DIR /opt/local/lib --QT_INCL_DIR /opt/local/lib/qt3/include --QT_LIB_DIR /opt/local/lib/qt3/lib

途中、こんな感じでステータスが表示されます。

  ****************************************************************
  **                                                            **
  **                    Compiling CGAL 3.3.1                    **
  **                    ====================                    **
  **                                                            **
  ****************************************************************

  BOOST_PROGRAM_OPTIONS:        not supported
  BOOST_BIMAP:                  not supported
  X11:                          supported (11.0)

スクリプトの動作が終了したら、以下の環境変数を追加します。.bashrcなどに書いておけばいいでしょう。

export CGAL_MAKEFILE="/Users/kosei/projects/CGAL-3.3.1/make/makefile_i386_Darwin-9.6_g++-4.0.1"

デモの動作

デモプログラムが CGALのルート/demo に入っています。以下の手順で動作します。

まず動かしたいdemoをmakeします。

$ cd demo/Triangulation_3
$ make

次に CGALのルート/scripts に入っている cgal_make_macosx_app というスクリプトを使ってappファイルを生成します。

../../scripts/cgal_make_macosx_app demo_color

生成されたappファイルをopenコマンドで起動します。

open demo_color.app
問題

僕の環境だと、ここでなぜか失敗します。以下のエラーが出ます。

LSOpenFromURLSpec() failed with error -10661 for the file /Users/kosei/projects/CGAL-3.3.1/demo/Triangulation_3/demo_color.app.

LSOpenFromURLSpec() はQtまわりの関数のようです。原因、解決方法が分かり次第追記します。

リソース

日本語のリソースはほぼありません。オフィシャルのマニュアルインストールガイドチュートリアル(学会やワークショップでの発表資料)を見るのが手っ取り早いと思います。

TwitterFeedのテスト

ブログを更新するとtwitterにフィードしてくれるWebサービス、TwitterFeedを使ってみました。

twitterfeed.com : feed your blog to twitter - post RSS to twitter automatically

うまく動くかテストです。