Linux上源码编译MongoDB

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

全文完。

原文发布于微信公众号 - MoeLove(TheMoeLove)

原文发表时间:2015-09-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Golang语言社区

从零开始实现RPC框架 - RPC原理及实现

RPC(Remote Procedure Call)即远程过程调用,允许一台计算机调用另一台计算机上的程序得到结果,而代码中不需要做额外的编程,就像在本地调用一...

1863
来自专栏轻扬小栈

linux 百度客户端 非图形界面 小结

1955
来自专栏小巫技术博客

高效mac(二)

1182
来自专栏JAVA高级架构

程序猿的日常——SpringMVC系统架构与流程回顾

web开发经历了很漫长的时间,在国内也快有十几年的时间了。从最开始的进程级到现在的MVC经历了很多的改进和优化,本篇就主要复习了解下Spring MVC相关的知...

3535
来自专栏一英里广度一英寸深度的学习

Hello,Java女神

第一阶段:C++转行,开始学习Java 第二阶段:Java Web,jsp+servlet 第三阶段:Struct Spring 第四阶段:Spring ...

1315
来自专栏张善友的专栏

CentOS 7 搭建基于携程Apollo(阿波罗)配置中心单机模式

2396
来自专栏逸鹏说道

Windows无法安装到这个磁盘。请确保在计算机的BIOS菜单中启用了磁盘控制器

今天一朋友问我这个问题,呃,以前我也遇到过,但忘记记录了,这次就记录一下吧,就懒得打字了,图片里面很清楚了 ? ? ? ? ? 不说点什么的话是不是太水了O(∩...

6777
来自专栏北京马哥教育

25个Linux服务器安全小贴士,总有一条用得上!

大家都认为 Linux 默认是安全的,我大体是认可的 (这是个有争议的话题)。Linux默认确实有内置的安全模型。你需要打开它并且对其进行定制,这样才能得到更安...

36512
来自专栏潇涧技术专栏

Build Android Source Code on Mac

趁着国庆长假,抽出些时间来记录下最近倒腾的一些内容,第一个需要记录的自然是Android源码编译的流程。上班第一天就干了一件事,编译Android 6.0源码,...

1193
来自专栏我是攻城师

漫谈依赖管理工具:从Maven,Gradle到Go

4406

扫码关注云+社区

领取腾讯云代金券