Linux上源码编译MongoDB

2018-08-27 15:11:06 浏览数 (1)

上周放假正好有时间,编译安装了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配置部分抽空再写。

全文完。

0 人点赞