Cygwinのインストールについては省略します。
参考: http://www.atmarkit.co.jp/flinux/special/cygwin2/cygwin01a.html
Python 2.1.x をソースからコンパイルしてインストールするには
$ make
$ make test
$ make install
で良いのですが、OpenSSL のヘッダーファイルとライブラリが存在すると、 make test でフォルトで止まってしまいます。
Python 2.2.2 の README の 'CygWin:' で始まる行を見ると、DLLのベースアドレスがぶつかっているとあって、 http://www.zope.org/ で、 rebase する方法が出ていましたが、一番簡単なのは OpenSSL のヘッダーとライブラリ(スタブ)をインストールしないことです。これは、Python のコンパイルの時しか関係しませんので、zSSL のコンパイルは
の順番でやればできます。
Python2.2.2 でコンパイルしてみたら、OpenSSLが入っている状態でも、(OpenSSLの機能を使わないようにして)、無事コンパイルできるようになっていました。
Python2.2.2 を Cygwinでコンパイルする話はこちら。
Cygwin で SysV IPC の機能を使うには、ipc-daemon を動かさなくてはなりません。
http://www.neuro.gatech.edu/users/cwilson/cygutils/cygipc/ から 最新のソース(私がやったときは、 cygipc-1.13-2-src.tar.bz2)を取ってきて
$ bzip2 -d cygipc-1.13-2-src.tar.bz2
$ tar xvf cygipc-1.13-2-src.tar
で、アーカイブを解くと
cygipc-1.13-2.patch
cygipc-1.13-2.sh
cygipc-1.13.tar.bz2
のファイルができます。
$ bzip2 -d cygipc-1.13.tar.bz2
$ patch -p0 <cygipc-1.13-2.patch
で、'cygipc-1.13' というディレクトリにソースが出来上がりますが、なぜか私のところでは、このときできた Makefile ではコンパイルできなかったので、 CFLAGS_i586 を以下のように変えました。
| CFLAGS_i586 = $(CFLAGS_i386) -mcpu=i586 |
$ make
$ make install
で、ipc-daemon.exe がインストールされます。
IPC の機能が必要になる度に、ipc-daemon を起動しても良いのですが、 Windows NT、 Windows 2000、(たぶん)Windows XP では
$ ipc-daemon --install-as-service
とすると、サービスに登録されるので、いちいち起動しなくても、SysV IPC の機能が使えるようになります。サービスからアンインストールするには、
$ ipc-daemon --remove-as-service
で良いようです。
以下、私が PostgreSQL 7.3.2 をインストールした時の覚書
| $ make $ make check $ make install |
この後で psycopg をインストールするのであれば、ヘッダーファイルが必要になりますので、加えて以下のようにします。
| $ make install-all-headers |
| #pgsql PATH=$PATH:/usr/local/pgsql/bin:/usr/local/pgsql/lib export PGLIB=/usr/local/pgsql/lib export PGDATA=/usr/local/pgsql/data export PGCLIENTENCODING=SJIS |
$ initdb --encoding=EUC_JP --no-locale
もしくは
$ initdb --encoding=UNICODE --no-locale
を実行します。
/usr/local/pgsql/data/postgresql.conf
の設定を以下のようにします。
| tcpip_socket = true |
これで、postgresql を起動している同じマシンからのリクエストを受け付けます。他のマシンからのリクエストにも応えるようにするには、 pg_hba.conf をいじったりするのですが、PostgreSQLの情報をあたって下さい。
下表は覚書です。詳しくは PostgreSQLの関連サイト、書籍で情報を調べてください。
| 起動 | $ pg_ctl start |
| 停止 | $ pg_ctl stop |
| ユーザー登録 | $ createuser testuser Shall the new user be allowed to create databases? (y/n) y Shall the new user be allowed to create more new users? (y/n) n |
| ユーザー削除 | $ dropuser testuser |
| データベースの作成 | $ createdb -U testuser testdb |
| データベース一覧 | $ psql -l |
| psql ログイン | $ psql -U testuser testdb |
MH-6.8.4-JP-3.05 へのパッチ MH-6.8.4-JP-3.05-cygwin.patch
を作りました。
/usr/local/lib/mh/mtstailor はこんな感じにして使っています。
ただ、パッチを作ったのと、説明を書いているので時間に随分間隔が開いてしまったので、なにか間違いがあるかも知れません。