MongoDB源码编译

本人编译的版本编译的版本为mongodb2.6分支,目前MongoDB3.0已经发布,编译步骤和2.6的差不多,不过3.0版本要求编译器支持c++11标准,所以如果是在Linux平台下编译,必须先升级GCC到4.8.2版本,在Windows下编译需要Visual Studio 2013 Update 2以上版本。

MongoDB源码下载地址: 源码下载

2.6版本源码编译使用Scons,所以需要准备以下软件:
Python 2.7.9 : 点此下载
Scons 2.3.4: 点此下载
Windos平台-VS2010以上版本: 点此下载
Linux平台-GCC: 点此下载

Windows下软件安装说明:
1, Python安装目录中不能有空格,也就是不能放在“Program Files”类似目录中,使用默认目录就可以。
2, Python安装完成后需要配置环境变量,在PATH后面增加”;D:\Python27”(此处根据自己目录配置)。
3, 先安装Python,然后安装Scons,安装完成后配置环境变量”;D:\Python27\Scripts”。

Windows下编译:

开始菜单中找到Visual Studio Tools,然后打开VS2013 x64 Native Tools Command Prompt(VS2013 x64 本机工具命令提示),cd到源码目录,然后输入“scons all –64 -j4”即可开始编译, 如果只是需要MongoDB中某个模块,则可以”scons mongod –64 -j4”。

arch mongodb编译 mongodb源码编译_mongodb

说明:
1, 源码不要放在中文目录下面,这个是我个人编译时候犯的错误,导致编译时候出现”C++ compiler $CC does not work”错误,不知道和我自己电脑有没有关系。
2, 在Windows上编译2.6版本时需要加上”–64”命令,否则会出现”error : You cannot use 32-bit time_t (_USE_32BIT_TIME_T) with _WIN64”错误,这个是MongoDB的BUG,点此查看
3, “-j4”命令是为了加快编译速度,“4”问自己电脑CPU数量,这个命令使用多进程编译。

Linux下软件安装说明:
笔者个人为电脑为Centos6,默认已经安装Python,只需要升级就行,我自己下载了Python源码然后编译升级。
1, Python编译升级: 在终端中cd到Python源码目录,运行./configure, 再运行make install即可。
2, Scons安装: 在终端中cd到Scons目录,运行”python setup.py install”即可。

Linux下编译:
在终端中cd到MongoDB源码目录,然后直接运行“scons all –64 -j4”即可。

说明:
1, 如果是使用“all”命令编译,则源码所在目录挂载的分区内存最好大于30G,不然会编译一半提示内存不足而终止。