专栏首页MoeLoveLinux上源码编译MongoDB

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),作者:TaoBeier

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Kubernetes v1.18 正式发布!抢先一览

    持续关注 「K8S 生态周报」 ( https://zhuanlan.zhihu.com/container )的小伙伴们,在每周的上游进展中,应该已经了解到了...

    Jintao Zhang
  • K8S 生态周报| Docker v19.03.12 发布

    在 Docker v19.03.11 发布时,我在「K8S 生态周报| 几乎影响所有 k8s 集群的漏洞」 ( https://zhuanlan.zhihu.c...

    Jintao Zhang
  • 高效 Bash 使用技巧

    我们在日常使用中,难免会使用到一些历史命令或者有时需要对历史命令进行更正,那么如何更加高效的来完成这些操作呢?

    Jintao Zhang
  • vue-cli使用

    xing.org1^
  • 【装系统,自己来,不求人】硬盘安装原版win7系统教程

    我大二的时候任职学校计算机协会的会长开过讲堂,讲过几种装系统的方法,帮助过很多人解决电脑问题,当然经常帮忙重装系统。也有写过用U盘安装操作系统的教程,《陶院计算...

    若川
  • 为eclipse3.6安装subversive插件

    subversive和subclipse都是subversion的客户端插件,具体比较,大家可以搜寻网络,这里给一个链接参考。

    williamwong
  • 安装python3时,报错提示api-m

     安装python3时会报错,提示api ms win crt runtime l1-1-0.dll 丢失

    py3study
  • 以太坊是什么 – 以太坊开发入门指南

    很多同学已经跃跃欲试投入到区块链开发队伍当中来,可是又感觉无从下手,本文将基于以太坊平台,以通俗的方式介绍以太坊开发中涉及的各晦涩的概念,轻松带大家入门。

    Javanx
  • 分类算法之朴素贝叶斯分类(Naive Bayesian classification)

    如果用一句话来概括贝叶斯分类器,那就是:根据样本集中的先验信息,来推算出某一个样本属于某一类的概率,然后根据推算出来的结果将该样本分为某类 。贝叶斯分类是一类分...

    智能算法
  • 分类算法之朴素贝叶斯分类(Naive Bayesian classification)

    如果用一句话来概括贝叶斯分类器,那就是:根据样本集中的先验信息,来推算出某一个样本属于某一类的概率,然后根据推算出来的结果将该样本分为某类 。贝叶斯分类是一类分...

    智能算法

扫码关注云+社区

领取腾讯云代金券