Mongodb2.0.0版编译支持UTF-8

centos5系下编译Mongodb2.0.0:

Mongodb2.0.0编译所依赖的包有pcre,Boost,Spider Monkey 和scons

1,yum 安装pcre,boost,scons,不赘述

2,编译spider monkey

  1. wget -c ftp://ftp.mozilla.org/pub/mozilla.org/js/js-1.7.0.tar.gz 
  2. tar xvf js-1.7.0.tar.gz 
  3. cd js/src 
  4. export CFLAGS="-DJS_C_STRINGS_ARE_UTF8"   #重要,打开UTF-8支持 
  5. make -f Makefile.ref 
  6. JS_DIST=/usr/local/js make -f Makefile.ref export  #安装到/usr/local/js

tips:mongodb2.0.0官方文档提示目前仅测试过js1.7.0版本,最新的1.8.0没有经过测试,所以为了避免问题,我们选择1.7.0版

3,编译readline

  1. wget -c ftp://ftp.cwru.edu/pub/bash/readline-6.2.tar.gz 
  2. tar xvf readline-6.2.tar.gz 
  3. cd readline-6.1 
  4. ./configure --prefix=/usr/local/readline 
  5. make 
  6. make install 

4,安装python2.5以上版本

这个很关键,如果没有使用2.5以上版本,编译的时候,会连第一步都过不去。原因就是因为版本不同,所造成的语法错误。

  1. yum install python26 

tips:这里选择安装python2.6版本

到这里还没有结束,scons是python编写的一个项目管理工具,你还要修改scons使用的python版本,centos5默认是2.4的。

  1. vim /usr/bin/scons 

第一行脚本声明后面加个"2.6"即可

5,编译boost1.47.0

在这个问题上我吃了一个大亏,之前因为直接yum安装了boost(版本是1.33.1),mongodb安装好后一直无法启动,会自动kill自己,后来查各方资料,得知可能是boost版本的问题,于是就尝试再重新编译boost最新版,结果自然是成功了。

  1. wget -c http://downloads.sourceforge.net/project/boost/boost/1.47.0/boost_1_47_0.tar.gz 
  2. tar xvf boost_1_47_0.tar.gz 
  3. cd boost_1_47_0 
  4. sh bootstrap.sh 
  5. ./bjam --prefix=/usr/local/boost_1_47_0 threading=multi link=static variant=release install 

6,开始编译mongodb

  1. wget -c http://downloads.mongodb.org/src/mongodb-src-r2.0.0.tar.gz
  2. tar xvf mongodb-src-r2.0.0.tar.gz
  3. cd mongodb-src-r2.0.0
  4. scons --prefix=/usr/local/mongodb --extrapath=/usr/local/js,/usr/local/readline,/usr/local/boost_1_47_0 install 

照此,安装结束,可以开始感受no-sql的魅力了!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章