mongodb的编译

原创 2011年10月17日 16:53:12
         目前我们使用的mongodb的版本是1.8.2,前段时间mongodb已经升级到了2.0.0了,做了很多重要的修改。而在我们日常使用的过程中经常使用map/reduce操作,Spider Monkey的JS内核不够给力,因此准备编译一个v8内核的mongodb 2.0出来。

         我们基本上是按照官方的说明文档来编译的,http://www.mongodb.org/display/DOCS/Building。安装之前需要做好准备,安装gc++,boost,scons等。

         在编译v8的时候,出现了Cannot find bz2的错误,提示系统没有安装bz2的库,使用find命令找了一下,系统中存在libbz2.so.1文件了,我只需要建立一个libbz2.so的符号链接就行了。

         编译v8完成后,继续编译mongod,又出现了Can notfind v8的错误,find了一下,系统中存在v8的lib的,开始以为是路径不对,修改了LD_LIBRARY_PATH后还是不行;使用file命令看了一下,才发现原来刚才编译的v8是32位的,使用scons arch=x64,重新编译了v8。(后来在http://www.howsthe.com/blog/2010/feb/22/mongodb-and-v8/这个链接的评论里发现有人有同样的问题)

         解决了v8的编译后,继续编译,链接时出现了符号不能找到的错误,google了很久,才发现是boost的版本问题,老版本的boost已经没有这个符号链接了。只好重新安装boost,结果系统中就存在两个boost版本了,需要指定路径来编译了,scons all --usev8 --libpath=/usr/local/lib,终于编译成功了。

         编译成功后,我将我编译出来的mongod和官方编译的mongod使用ldd命令比较了一下,发现我多了一些boost的链接。看来要使用静态链接才行,只好使用scons all --usev8 --staticlibpath=/usr/local/lib--staticlib=boost_system,boost_thread,boost_filesystem,boost_program_options重新编译了一下,这下子才真正的大功告成。

         一般从源代码编译开源软件,最关键的问题就是库找不到,主要的原因就是库路径设置不对,这一次却是其他原因找不到库。抓住这些原因基本上就不怕编译开源软件了。

windows平台下安装、编译、使用mongodb C++ driver 正常运行

scons --cpppath=C:\boost_1_58_0 --libpath=C:\boost_1_58_0\lib64-msvc-12.0 --dynamic-windows --64 --d...
  • linuxheik
  • linuxheik
  • 2016年09月08日 00:44
  • 1263

VS2015下编译 MONGODB 驱动

参考来源: https://github.com/mongodb/mongo-cxx-driver/wiki/Download-and-Compile-the-Legacy-Driver#buildi...
  • firebird321
  • firebird321
  • 2015年11月04日 10:30
  • 2285

windows下如何编译MongoDB c语言drive(客户端)

1.下载下载mongo-c-drive-master 到MongoDB官网https://github.com/mongodb/mongo-c-driver,下载mongo-c-drive-maste...
  • bjy0326
  • bjy0326
  • 2013年07月08日 09:38
  • 1461

linux中安装官网编译好的mongodb

我们可以通过三种方式在linux中安装mongodb,分别是(1)yum的方式,(2)官网编译好的文件下载安装,(3)自己通过编译源码安装。本文将介绍第二种安装的方式,做了一个记录。 具体步骤: ...
  • u012979009
  • u012979009
  • 2015年08月28日 14:48
  • 492

mongodb在java中的语句编译

这次就先拿wifi链接数量统计的接口为例子吧。注:编译工具为:eclipse,编译语言为java,数据库为mongoDB,框架为jfinal。 WifiService:package com...
  • woliMZX
  • woliMZX
  • 2017年10月26日 16:44
  • 118

Linux下编译mongodb以及C++客户端驱动

想在Linux下编译一下mongo和它的C++驱动,网上一堆教程,官方一堆文档,实现起来依旧困难重重。我就很纳闷了,本来mongodb就是C++写的,为什么不直接提供出驱动,而java,C#之类的,倒...
  • dai_jing
  • dai_jing
  • 2014年05月27日 19:56
  • 1029

VS2010 C++下编译调试MongoDB源码

考虑到mongodb使用了boost库源码,参考mongodb官方文档后,下载编译boost版本是1.42(时间为2010-2-2)或更新版本:             boost版本1.42: ...
  • haydenwang8287
  • haydenwang8287
  • 2016年04月11日 11:21
  • 379

Linux Xshell4下编译安装php mongodb扩展经验分享

Php的安装路径/usr/local/php 首先从mongoDB官方http://pecl.php.net/package/mongo下载最新的php mongodb扩展源码 命令: wget...
  • freshlover
  • freshlover
  • 2013年12月12日 16:52
  • 3103

VS2010编译Mongodb C++驱动

完成了VS2010编译Mongo C++ Driver,中间遇到了不少问题,记录一下。
  • BeyondHaven
  • BeyondHaven
  • 2013年10月22日 15:23
  • 10509

在linux下面手动编译Mongodb cpp驱动

之前做了一些关于mongodb replication的一些调研,主要集中在开源软件Tungsten上。这个开源软件是用java写的,和mongo的交互也就用的java。可是真的要用起来,发现我们需要...
  • lq19880488
  • lq19880488
  • 2014年12月11日 10:10
  • 438
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:mongodb的编译
举报原因:
原因补充:

(最多只允许输入30个字)