Windowsへのsubversionインストール(途中)

目標
subversionのサーバーをWindows環境にインストールする。
結果
本日はクライアントを入れて終った。
反省
Apacheのインストールと設定を理解してからやったほうがよい。
今回の環境
Windows XP pro 日本語版 SP1、Visual Studio.Net 2003 日本語版
  • 事前準備
  • バイナリファイルのダウンロード
ActivePerl-5.8.3.809-MSWin32-x86.msi
ActiveStateより。
Python-2.3.3.exe
http://www.python.org/2.3.3/より。
awk
http://cm.bell-labs.com/cm/cs/who/bwk/awk95.exeより。apacheのビルドに必要。
  • ソースファイルのダウンロード
subversion-1.0.0.tar.gz
http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=260
httpd-2.0.48-win32-src.zip
http://httpd.apache.org/download.cgi
db-4.2.52.zip
http://www.sleepycat.com/download/
neon-0.24.4.tar.gz
http://www.webdav.org/neon/
openssl-0.9.7c.tar.gz
http://www.openssl.org/source/
zlib113-win32.zip
http://openlab.jp/tsuneo/soft/zlib/zlib113-win32/より。
zlib114.zip
http://www.winimage.com/zLibDll/より。
w32locatedb.pl
w32locatedb.plより。subversionのビルドに必要。
  • バイナリパッケージの処理

この二つはインストーラーなので実行してインストール。

    • awk95.exe

awk.exeとして適当なフォルダに保存する。
VisualStudio.Net2003でツール->オプションメニューのプロジェクト->VC++ビルドにてリストボックスで実行可能ファイルを選択し、awk.exeを保存したフォルダを登録する。

  • ソースパッケージの処理

各ソースパッケージは、それぞれ適当なフォルダに解凍する。
tar.gzの解凍はLhaplusでよいと思われる。

    • zlib113-win32.zip

解凍のみ。subversionのビルド時に参照。

    • zlib114.zip

httpd-2.0.48-win32-src.zip解凍先の\srclibにzlibフォルダを作成。
zlib114.zip解凍先フォルダを上で作ったzlibフォルダにコピー。

    • openssl-0.9.7c.tar.gz

Compiling Apache for Microsoft Windowsを参考にコンパイルする。

perl Configure VC-WIN32
perl util\mkfiles.pl >MINFO
perl util\mk1mf.pl dll no-asm no-mdc2 no-rc5 no-idea VC-WIN32 >makefile
perl util\mk1mf.pl dll debug no-asm no-mdc2 no-rc5 no-idea VC-WIN32 >makefile.dbg
perl util\mkdef.pl 32 libeay no-asm no-mdc2 no-rc5 no-idea >ms\libeay32.def
perl util\mkdef.pl 32 ssleay no-asm no-mdc2 no-rc5 no-idea >ms\ssleay32.def
nmake
nmake -f makefile.dbg

openssl-0.9.7c.tar.gz解凍先\include\openssl 内のrc5.h、idea.h、mdc2.h をopenssl-0.9.7c.tar.gz解凍先\inc32\openssl\ にコピー。
D:\download\openssl\openssl-0.9.7c\out32dll にパスを通す。
httpd-2.0.48-win32-src.zip解凍先の\srclibにopensslフォルダを作成。
openssl-0.9.7c.tar.gz解凍先フォルダを上で作ったopensslフォルダにコピー。

    • db-4.2.52.zip

build_win32のBerkeley_DB.dswをVS.NETで開く。DebugとReleaseでdb_dllのみビルド。
subversion解凍先のルートフォルダにdb4-win32フォルダを作成し、その中にincludeとlibフォルダを作成。
build_win32フォルダのdb.hをdb4-win32\includeにコピー。
build_win32\Debug\libdb42d.libとbuild_win32\Release\libdb42.libをdb4-win32\libにコピー。
build_win32\Debug\libdb42d.dllと、build_win32\Release\libdb42.dllにパスを通す。
どこかにまとめてコピーしてからパスをとしたほうがいいと思われる。

    • w32locatedb.pl

subversion解凍先のルートフォルダにあるINSTALLファイルを参照
httpd-2.0.48-win32-src.zip解凍先の\srclib\apr-util\buildフォルダにファイルをコピーしスクリプトを実行

perl w32locatedb.pl dll D:\download\subversion\subversion-1.0.0\db4-win32\include D:\download\subversion\subversion-1.0.0\db4-win32\lib

httpd-2.0.48-win32-src.zip解凍先の\srclib\apr、\srclib\apr-iconv、\srclib\apr-utilをsubversion解凍先に貼り付け。

    • httpd-2.0.48-win32-src.zip

httpd-2.0.48-win32-src.zip解凍先のApache.dswをVS.NETで開く。BuildBinのみビルド。

neonフォルダをneon-0.24.4.tar.gzを解凍した物で置き換える。
subversion-1.0.0.tar.gz解凍先フォルダで以下のスクリプトを実行。zlib、openssl、Apacheの解凍先を指定する。

python gen-make.py -t vcproj --with-zlib=D:\download\zlib\zlib113-win32 --with-openssl=D:\download\openssl\openssl-0.9.7c --with-httpd=D:\download\Apache\httpd-2.0.48

subversion-1.0.0.tar.gz解凍先フォルダのsubversion_vcnet.slnをVS.NET2003で開き、Releaseで__ALL__をビルド。
subversion-1.0.0.tar.gz解凍先フォルダのRelease\subversion\clients\cmdline\svn.exeを実行。エラー無く起動できればとりあえず完成。
とここまでで時間切れ。半端だなー。続きはまた明日。
なんか荒業だが、これでクライアントソフトは動くはず。
いろいろご意見いただけると小躍りして喜ぶのでよければお願いします。