84366992 发表于 2018-10-28 09:19:23

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
  


[*]wget -c ftp://ftp.mozilla.org/pub/mozilla.org/js/js-1.7.0.tar.gz
[*]tar xvf js-1.7.0.tar.gz
[*]cd js/src
[*]export CFLAGS="-DJS_C_STRINGS_ARE_UTF8"   #重要,打开UTF-8支持
[*]make -f Makefile.ref
[*]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
  


[*]wget -c ftp://ftp.cwru.edu/pub/bash/readline-6.2.tar.gz
[*]tar xvf readline-6.2.tar.gz
[*]cd readline-6.1
[*]./configure --prefix=/usr/local/readline
[*]make
[*]make install
  

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


[*]yum install python26
  

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


[*]vim /usr/bin/scons
  

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


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

  6,开始编译mongodb
  


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

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


页: [1]
查看完整版本: Mongodb2.0.0版编译支持UTF-8