上周放假正好有时间,编译安装了MongoDB,虽然MongoDB用了挺长时间的,但还是第一次用源码编译。在此做个备忘。因为已经完整编译安装过了,所以写起来的时候,就按照先知视角来写了~ 2333
下载MongoDB源码
MongoDB的官网上是有已经编译好的二进制包的,这里选择clone MongoDB在github上的仓库
在docs/building.md
中是编译所需的依赖。
- A modern C compiler. One of the following is required.
- GCC 4.8.2 or newer
- Clang 3.4 (or Apple XCode 5.1.1 Clang) or newer
- Visual Studio 2013 Update 2 or newer
- Python 2.7
- SCons 2.3
我这台服务器是CentOS 6.5, 上面的gcc版本比较低,这里就先更新gcc咯.
编译升级gcc
在gcc的官网找到下载页面。使用svn或者通过ftp镜像站下载源码. 我使用了一个ftp镜像站下载的源码压缩包。 然后进行解压和安装依赖。
之后编译
输出:
一般情况下, 就这样gcc就可以编译完成了。 但是因为我这台机器是单核1G没有swap区, 所以我遇到了下面的问题:
大致查了下,是因为没有swap区的原因,根据这篇 得到的解决办法是:
之后就是gcc 的编译时间了, 这个时间可以去写写代码补个番啥的。这台机器只是平时拿来玩的,配置炒鸡低。编译gcc从17:20开始,一直到20:09停止。(期间我去补番啦 2333)
升级Python
CentOS上默认的Python对于之后要安装的scons来说,还是版本太低。再次上Python 官网 (官网真是个好地方2333)下载Python2.7的源码 编译过很多次了, 就只写主要的东西了
安装scons
在官网上找到源码包直接安装
编译安装MongoDB
最后的安装过程就不是这篇里面的重点了, 遇到的一个坑是:
有这样的报错信息。 查了一下,根据这篇只要在构建的时候,加上--disable-warnings-as-errors
就可以解决了
本篇的重点是编译的过程,后续MongoDB配置部分抽空再写。
全文完。