Chinaunix首页 | 论坛 | 博客
  • 博客访问: 266780
  • 博文数量: 56
  • 博客积分: 1190
  • 博客等级: 少尉
  • 技术积分: 640
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-21 17:05
文章分类

全部博文(56)

文章存档

2014年(2)

2013年(4)

2012年(46)

2011年(4)

我的朋友

分类: NOSQL

2013-05-15 14:13:25

MongoDB的源代码依赖了一些基础组件,如js引擎Spider Monkey,正则表达式引擎PCRE,安装构建工具Scons,以及C++的boost库等

1、准备

wget 
wget
wget 
wget 
wget

2、scons编译安装

tar zxvf scons-2.1.0.alpha.20101125.tar.gz
cd scons-2.1.0.alpha.20101125
python setup.py install

3、pcre编译安装

tar zxvf pcre-7.4.tar.gz
cd pcre-7.4
configure --enable-unicode-properties
make -j 2 && make install

configure中要加入--enable-unicode-properties支持,要不运行mongod会出现下面错误

Fri Dec 30 23:53:45 Assertion: 10342:pcre not compiled with utf8 support
0x53f16a 0x5cfda1 0x8945f3 0x338101d994 0x4c0e49
/usr/local/mongodb/bin/mongod(_ZN5mongo11msgassertedEiPKc+0x12a) [0x53f16a]
/usr/local/mongodb/bin/mongod(_ZN5mongo6RXTest3runEv+0x3b1) [0x5cfda1]
/usr/local/mongodb/bin/mongod(main+0x5c73) [0x8945f3]
/lib64/libc.so.6(__libc_start_main+0xf4) [0x338101d994]
/usr/local/mongodb/bin/mongod(__gxx_personality_v0+0x451) [0x4c0e49]

4、js编译安装

tar zxvf js-1.7.0.tar.gz
cd js/src
export CFLAGS="-DJS_C_STRINGS_ARE_UTF8"
make -f Makefile.ref
JS_DIST=/usr make -f Makefile.ref export

5、boost编译安装

tar -zxvf boost_1_42_0.tar.gz
cd boost_1_42_0/
#使用下面的命令创建boost自己的编译工具bjam(目的是保证Boost在任何平台上都能用bjam编译),类似于GNU Make。
./bootstrap.sh
#会安装头文件和库文件到相应指定目录,头文件安装到/usr/local/include下,库文件安装到/usr/local/lib下
install
#最后执行的创建命令:
./bjam –without-python –layout=tagged variant=debug,release link=static,shared runtime-link=shared threading=multi stage

6、mongodb编译安装

tar -xzvf mongodb-src-r1.8.2.tar.tar
cd mongodb-src-r1.8.2/
scons all
scons --prefix=/usr/local/mongodb --full install

安装成功后 安装到/usr/local/mongodb下

文件结果

bin
GNU-AGPL-3.0
include
lib64
README
THIRD-PARTY-NOTICES

7、加入环境变量

/etc/profile 加入

CLASSPATH=.:/usr/local/lib
export CLASSPATH

然后source /etc/profile

完成后就可以运行mongodb。

             [root@test_192.168.4.95 mongodb]#bin/mongod -dbpath=/data/mongodb/
            [root@test_192.168.4.95 mongodb]# bin/mongo
            MongoDB shell version: 1.8.2
            connecting to: test

运行可能会出现下面错误

/usr/local/mongodb/bin/mongod: error while loading shared libraries: libboost_system.so.1.42.0: cannot open shared object file: No such file or directory

解决方法

echo "/usr/local/lib" > /etc/ld.so.conf.d/usr_local_lib.conf
/sbin/ldconfig

遇到问题:
Python 需要升级

linux下python安装

Python2.5的安装方法:


1.下载源代码 

2.  安装
       $ tar –jxvf Python-2.5.2.tar.bz2
       $ cd Python-2.5.2
       $ ./configure
       $ make
       $ make install
3. 测试
       在命令行下输入python,出现python解释器即表示已经正确安装。
在suse10或rhel5(es5)下系统默认已经装了python但版本是2.4.x;本次安装后在shell中输入
#python
会发现显示结果:
# python
Python 2.4.3 (#1, Dec 11 2006, 11:38:52) 
[GCC 4.1.1 20061130 (Red Hat 4.1.1-43)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 
版本还是2.4.x的
解决办法:
        #cd /usr/bin
        #ll |grep python   //查看该目录下python
        #rm -rf python
        #ln -s PREFIX/Python-2.5.2/python ./python  //PREFIX为你解压python的目录
                #python
                
                      # python
                         Python 2.5.2 (#1, Dec 11 2006, 11:38:52) 
                         [GCC 4.1.1 20061130 (Red Hat 4.1.1-43)] on linux2
                        Type "help", "copyright", "credits" or "license" for more information.
                         >>> 
OK!问题解决!        

在安装node.js时提示ImportError: No module named bz2。

很明显这个python中没有装bz2的库导致的。

解决方法:

yum install bzip2-devel

然后需要重新编译一下python,之后再import bz2就不会提示错误了。




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