mongodb-src-r4.0.3.zip\mongodb-src-r4.0.3\docs\building.md
编译 MongoDB
================
编译所需:
* 下列 C++ 编译器之一:
* GCC 5.4.0+
* Clang 3.8+
* Visual Studio 2015 Update 3 +
* Linux 系统需要 libcurl 库及头文件
* Fedora/RHEL - dnf install libcurl-devel
* Ubuntu/Debian - apt-get install libcurl-dev
* Python 2.7.x 及 Pip 模块:
* pyyaml
* typing
MongoDB 支持下列架构:
arm64, ppc64le, s390x, and x86-64.
MongoDB工具
--------------
命令行工具 (mongodump, mongorestore, mongoimport, mongoexport等)由 http://golang.org/重写,不再包含在当前包中。
工具的相关源码获取地址:https://github.com/mongodb/mongo-tools
Python预备内容
---------------
要求 Python 2.7.x 安装所需的模块:
$ pip2 install -r buildscripts/requirements.txt
备注:如果pip2指令不可用,可能是pip。
SCons
---------------
更多编译细节 ,参考 https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source
编译所有内容 (mongod, mongo, tests, 等):
$ python2 buildscripts/scons.py all
只编译数据库:
$ python2 buildscripts/scons.py mongod
安装:
$ python2 buildscripts/scons.py --prefix=/opt/mongo install
注意:预编译的二进制包可下载 http://www.mongodb.org/downloads
SCons 目标
--------------
* mongod
* mongos
* mongo
* core (包括 mongod, mongos, mongo)
* all
Windows
--------------
参考编译指南https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source#windows-specific-instructions)
编译所需:
* Visual Studio 2015 Update 2 +
* Python 2.7, ActiveState ActivePython 2.7.x Community Edition for Windows 【推荐】
如果使用的 VS 2015 Update 3, 需要两个 hotfixes. 细节参考:
* https://support.microsoft.com/en-us/help/3207317/visual-c-optimizer-fixes-for-visual-studio-2015-update-3
* https://support.microsoft.com/en-za/help/4020481/fix-link-exe-crashes-with-a-fatal-lnk1000-error-when-you-use-wholearch
或者下载windows平台的预编译二进制包 www.mongodb.org.
Debian/Ubuntu
--------------
安装依赖:
# aptitude install build-essential
# aptitude install libboost-filesystem-dev libboost-program-options-dev libboost-system-dev libboost-thread-dev
为了运行测试,需要 PyMongo:
# aptitude install python-pymongo
OS X
--------------
Using [Homebrew](http://brew.sh):
$ brew install mongodb
Using [MacPorts](http://www.macports.org):
$ sudo port install mongodb
FreeBSD
--------------
安装下列 ports:
* devel/libexecinfo
* lang/clang38
* lang/python
如果不用mongoDb自带库,而是用系统库,可选组件:
* archivers/snappy
* lang/v8
* devel/boost
* devel/pcre
编译时,添加`scons` 选项 `CC=clang38 CXX=clang++38`
OpenBSD
--------------
安装下列 ports:
* devel/libexecinfo
* lang/gcc
* lang/python
Special Build Notes
--------------
* [open solaris on ec2](building.opensolaris.ec2.md)