犬ぶよツールズ制作記録

Javaによる研究生活のためのパッケージ、犬ぶよツールズ。
その開発と保守のための備忘録

Mac OS X 10.7にhealpyを入れる

2012-10-05 15:34:08 | Weblog
● 概要
Mac OS X 10.7上のpython 2.7にhealpyをインストールしたときの注意点です。

● 手順
+ 本家からzipballをダウンロードする。
現在の最新版は1.4。

+ zip内のREADME.rstを一応見る。
インストールについてはINSTALLを見ろと書いてある。

+ INSTALLを確認する。
INSTALLの70行目以降にMac OS Xの場合の奨励される方法が書いてある。


Compile on OSX
--------------

Suggested compilation on OSX Lion is installing pyfits, cython and cfitsio using mac ports and run:
>>> python setup.py --without-openmp


これに基づき、pyfitsとcfitsioを用意しておく。
pyfitsは本家からソースをダウンロードし

> sudo python setup.py install

でOK。
cfitsioはHomebrewで入れられる。

> brew install cfitsio

でOK。
cythonは無くても大丈夫。

+ 環境変数を設定する。
INSTALLの20行目付近の記述

Either define the environment variable CFITSIO_EXT_PREFIX where to find the
cfitsio library and include file (eg /usr/local, so that
/usr/local/include/fitsio.h and /usr/local/lib/libcfitsio.a exists),

に従って環境変数CFITSIO_EXT_PREFIXをする。
Homebrewで入れたなら/usr/localになっているので
CFITSIO_EXT_PREFIX=/usr/localとする。

+ ビルドする。
これでビルドできる。

> python setup.py --without-openmp build


+ インストールする。
Homebrewでcfitsioを入れた場合、
このままインストールするとhpbeta/config/config.healpy_osxに問題があってうまくいかない。
9行目に

CFITSIO_EXT_PREFIX ?= /opt/local

となっている箇所があるので、これを

CFITSIO_EXT_PREFIX ?= /usr/local

に変更しておく。

以上の後に、

> sudo python setup.py --without-openmp install

でOK。

ちなみに、--without-openmpは必須らしい。
これが無いとインストールはできるものの、
import時に

Symbol not found: _GOMP_loop_dynamic_next

と出る。