照本宣科:在win上编译 subversion 源码

(参考 http://svn.apache.org/repos/asf/subversion/trunk/INSTALL 的 E. Building the Latest Source under Windows)

资源准备

1, 下载subversion源码,下载地址: http://subversion.apache.org/download/#recommended-release,,win平台下载zip包,你可以选择 release版本,也可以选择rc1测试版本。

2. VS6,VS2002,VS2003,VS2005,VS2008 中的一种

3. python2.5 或更高版本,下载地址:http://www.python.org/

4. perl 5.8.   下载地址:http://dl.pcgames.com.cn/download/50293.html

5. AWK.exe。 下载地址 http://www.cs.princeton.edu/~bwk/btl.mirror/awk95.exe

6. 三个库文件 Apache apr(版本 0.9.12 或更高),apr-util, apr-iconv (可选项), 下载地址:http://www.apache.org/dist/apr/,不想这样下载源码编译,可以下载二进制打包的库,下载地址:文件 http://www.apache.org/dist/apr/binaries/win32/

7. 【可选项】Apache 2 源码,下载地址:http://httpd.apache.org/download.cgi

 

8. 【可选项】Berkerly DB4, 下载地址:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=688,db-4.3.27-win32.zip 和 db-4.4.20-win32.zip,哪个都行。

9. 【可选项】openssl 0.9.7f 下载地址: http://www.openssl.org/source/openssl-0.9.7f.tar.gz. 

10. 【可选项】GNU libintl的修改版本,称作 svn-win32-libintl.zip,用来显示本地化信息,下载地址:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=2627

11. 【可选项】GNUGettex,下载地址:http://gnuwin32.sourceforge.net/

12.  【可选项】汇编语言编译器, MASM32下载地址:http://www.masm32.com/,或是 NASM, 下载地址:http://www.nasm.us/pub/nasm/releasebuilds/?C=M;O=Dt

安装过程:

1. 创建SVN 目录,如将源码解压到指定路径下。例如 E:\SVN,在命令行运行下载版本的指令

   svn co https://svn.apache.org/repos/asf/subversion/trunk src-trunk

 或者将下载的 zip文件解压到SVN中,将文件夹名称(例如:subversion-1.7.10)换成 src-trunk。

2 . 安装 VS6,VS2002,VS2003,VS2005,VS2008 中的一种。注册环境变量,VS6.0 执行 VCVARS32.BAT批处理文件,更高版本运行程序菜单中的 “Microsoft Visual Studio 200x" -> "Visual Studio Tools" -> “Visual Studio 200x Command Prompt ” (中文 : “Visual Studio 200x 命令提示”)

如果你使用 VS6.0,还要安装和注册当前Windows Core SDK。

"To register the SDK bin, include, and library directories with Microsoft Visual Studio® version 6.0 and Visual Studio .NET, click Start, point to All Programs, point to Microsoft Platform SDK February 2003, point to Visual Studio Registration, and then click Register PSDK Directories with Visual Studio. This registration process places the SDK bin, include, and library directories at the beginning of the search paths, which ensures that the latest headers and libraries are used when building applications in the IDE. Note that for Visual Studio 6.0 integration to succeed, Visual Studio 6.0 must run at least once before you select Register PSDK Directories with Visual Studio. Also note that when this option is run, the IDEs should not be running."

3. 安装 python2.5 或更高版本。

4. 安装 perl 5.8. 

5. 将 AWK95.exe。复制到 SVN\awk\awk.exe,将这个路径加入path环境变量

6. 三个库文件 Apache apr, apr-util, apr-iconv (可选项), 版本 0.9.12 或更高。 下载地址:http://www.apache.org/dist/apr/,不想这样下载源码编译,可以下载二进制打包的库,下载地址:文件 http://www.apache.org/dist/apr/binaries/win32/

 

7. 如果你要编译server模块,下载 httpd 2.x.x 源码,下载地址:http://mirror.bit.edu.cn/apache//httpd/binaries/win32/,目前windows平台下的httpd源码只有2.0.64版本,解压到SVN\httpd-2.x.x,用VS6.0或更高版本打开Apache.dsw,全编,报错

解决办法:

In case anyone else runs across this, the problem was with the ordering of the headers... windows.h can be commented out and wincrypt.h should be moved to after apr.h:

 

// #include <windows.h> <<---- commented
#include "apr.h"
#include <wincrypt.h>   // <<---- move to after apr.h
#include "apr_private.h"
#include "apr_general.h"
#include "apr_portable.h"
#include "apr_arch_misc.h"

 

参考:http://www.spinics.net/lists/apache-users/msg75121.html

然后遇到报错 AWK 不是有效命令,明明完成了步骤4,但还是报错,参考 http://blog.csdn.net/ftomorrow/article/details/3980143,在VC6.0 的 菜单Tools -> Options -> 选项 Directories -> Executable files 中加入 AWk 路径。编译成功

 

8. 如果你不用dependency中的zlib模块,也可以到 http://www.zlib.net/ 下载源码,解压到 SVN\zlib-x.x.x

9. 在 http://www.openssl.org/ 下载 openssl源码,解压到 SVN\openssl-x.x.x

10. 下载 Berkerly DB, 下载地址(需要注册,免费的):http://www.oracle.com/technetwork/products/berkeleydb/downloads/index-082944.html

安装好后到安装目录下复制include 和 lib 文件夹到 路径 SVN\src-trunk\db4-win32


 

posted @ 2013-06-10 20:22  爱生活,爱编程  阅读(419)  评论(0编辑  收藏  举报