2010年3月21日

Snow Leopard で Python 2.6.5 を Build する

Python 2.6.5 の Snow Leopard でのビルド手順メモ。

SQLite のコンパイル。Snow Leopard には最初から SQLite インストールされているけれど、fts3が有効になってないので、有効にしたものをビルド。

curl -O http://www.sqlite.org/sqlite-3.6.23.tar.gz
tar xvfz sqlite-3.6.23.tar.gz
cd sqlite-3.6.23
CFLAGS="-DSQLITE_ENABLE_FTS3=1" ./configure
make
sudo make install

readline と gettext は独自ビルドしないで fink とか MacPorts とかでインストール。

# fink
sudo fink install readline
sudo fiink install gettext

# MacPorts
sudo port install readline
sudo port install gettext

Python のビルド。

curl -O http://www.python.org/ftp/python/2.6.5/Python-2.6.5.tar.bz2
tar xvfj Python-2.6.5.tar.bz2
cd Python-2.6.5
# fink の場合
./configure --enable-framework MACOSX_DEPLOYMENT_TARGET=10.6 --with-universal-archs=intel --enable-universalsdk=/ --with-threads CPPFLAGS="-I/usr/include -I/usr/local/include -I/sw/include" LDFLAGS="-L/usr/lib -L/usr/local/lib -L/sw/lib"
# MacPorts の場合
./configure --enable-framework MACOSX_DEPLOYMENT_TARGET=10.6 --with-universal-archs=intel --enable-universalsdk=/ --with-threads CPPFLAGS="-I/usr/include -I/usr/local/include -I/opt/include" LDFLAGS="-L/usr/lib -L/usr/local/lib -L/opt/lib"
make
find . -name readline.so
sudo make install

以下のようなエラーなら問題ないです。

Failed to find the necessary bits to build these modules:
bsddb185           dl                 imageop
linuxaudiodev      ossaudiodev        spwd
sunaudiodev
To find the necessary bits, look in setup.py in detect_modules() for the module's name.

_locale や readline がエラーになる場合は主に適切にコンパイルされていないなどが原因と思われます。

場合によっては独自ビルドした方が良いかもしれません。

ついでなので mod_wsgi もビルド。

 curl -O http://modwsgi.googlecode.com/files/mod_wsgi-3.2.tar.gz
 tar xvfz mod_wsgi-3.2.tar.gz
 cd mod_wsgi-3.2
 ./configure
make
sudo make install

apache は再起動しておきましょう。

sudo apachectl restart