Chinaunix首页 | 论坛 | 博客
  • 博客访问: 114380
  • 博文数量: 16
  • 博客积分: 936
  • 博客等级: 准尉
  • 技术积分: 170
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-03 16:16
文章分类

全部博文(16)

文章存档

2015年(2)

2014年(1)

2012年(2)

2011年(2)

2010年(9)

分类: 数据库开发技术

2012-08-04 21:10:59

使用windows 2010 编译mongodb,经常遇到各种错误,最常见的就是第三方库"js,pcre,splitmonkey, boost"这几个库的头文件或库找不到。
当然,在mongodb 的shell/msvc/目录下面还有vs2010的sln文件,可以用来编译,但是由于mongodb的工程问题,至少在2.0.4之前都存在需要使用scons先生成mongo_server.cpp的问题,否则直接使用mongo.sln 进行编译会导致mongo_server.cpp找不到的问题。
 
1、在mongodb.org下载mongodb, 具体的版本视情况而定。
2、下载for mongodb的boost的prebuild 组件。放到c:\boost 目录下。如:c:\boost\boost\filesystem 这种情况下,使用scons进行配置及编译的时候是可以找到boost头文件的。
3、下载pcre, js,splitmonkey等第三方库的prebuild组件(无非是头文件及编译好的.lib库文件0 for mongodb.
4、mongodb代码解压之后,在命令提示行下进入mongodb的目录,如果版本是2.0.4,则进入D:\OpenSource\mongodb-src-r2.0.4\ 可以使用如下命令:
cmd
cd d:\OpenSource\Mongodb-src-r2.0.4\
scons
scons --release mongoclient.lib
5、再使用vs自带的工程文件 进行编译mongo.exe就ok了。
 
注意: scons是一个运行在python环境下的工作,所以需要先安装python 2.5以上的版本,然后再安装scons,把c:\python-25, 以及c:\python-25\scripts 加入到环境变量里就可以使用了。
 
下面是转过来的帖子:

这篇很简单,就是介绍一下MongoDB的编译安装过程。

一、安装PCRE库
PCRE(Perl Compatible Regular Expressions),提供高速的正则表达式匹配api。
yum install pcre-devel
或者
到ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/下载合适的pcre源码包,然后configure/make/make install

二、安装Spider Monkey库
SpiderMonkey是JavaScript的C实现,可以提供JavaScript的代码解释功能。
到ftp://ftp.mozilla.org/pub/mozilla.org/js/下载js压缩包,解压后进入src目录,并按照如下步骤进行编译安装:
export CFLAGS=”-DJS_C_STRINGS_ARE_UTF8″
make -f Makefile.ref
JS_DIST=/usr make -f Makefile.ref export

三、安装SCons
Scons是一个Python写的自动化构建工具,比传统的GNU make更加简便、可靠以及高效。
到下载源码压缩包,解压之后按照如下步骤进行安装:
python setup.py install
(没安装python?这个……)

四、安装MongoDB
终于到编译安装MongoDB这一步了,灰常激动。
先到下载想要的MongoDB版本。建议下载1.6以上,有很多架构和功能方面的改进。
解压缩之后按照如下步骤进行安装:
scons -j 8 –extralib=ncurses,readline all
scons -j 8 –prefix=XXXXXXXXX –extralib=ncurses,readline install
如果想要头文件和lib包,执行
scons -j 8 –prefix=XXXXXXXXX –extralib=ncurses,readline –full install
(–extralib=ncurses,readline是为了让mongodb的console支持上下翻滚和左右移动,对于操作来说非常有用!)

五,让MongoDB跑起来
虽然MongoDB支持在命令行里面添加所有参数,但是为了管理方便,还是应该添加一个配置文件的。然后在命令行里面指定配置文件的位置。
下面是一个简单的配置文件:
#Directory and relavent set
dbpath = XXXXXXXXX/data
logpath = XXXXXXXXX/log/mongodb.log
repairpath = XXXXXXXXX/repair
pidfilepath = XXXXXXXXX/mongodb.pid
directoryperdb = true
#sysinfo = true
#verbose = true
logappend = true
#cpu = true

#Network and security set
noauth = true
port = 8888
maxConns = 1024
fork = true

#Management
#nohttpinterface = true
rest = true
quota = true
quotaFiles = 1024
nssize = 16
#syncdelay = 5

值得注意的是,类似nohttpinterface = false的配置是无效的。因为这些选项默认为false,不需要配置。
接着跑一下mongod –config XXXXX即可。

阅读(6423) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~