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的魅力了!

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