CentOS编译安装MongoDB


前言:
本地机器安装出现错误一直未解决 中,望路过的大侠指点,错误如下
1、scons all提示以下错误
/usr/local/include/pcrecpp.h:493: undefined reference to `pcrecpp::RE::no_arg' #已加pcre库路径
/usr/local/include/boost/thread/tss.hpp:105: undefined reference to `boost::detail::set_tss_data(void const*, boost::shared_ptr
2、yum安装成功,启动报错误(pcretest -C执行有“UTF-8 support Unicode properties support”)
[root@localhost ~]# cat /var/log/mongodb/mongodb.log         
/usr/bin/mongod: symbol lookup error: /usr/bin/mongod: undefined symbol: _ZN7pcrecpp2RE4InitEPKcPKNS_10RE_OptionsE
3、本来想升级boost-devel,提示
yum install 提示“No package boost-devel available.”

安装步骤:

安装epel
wget http://download.Fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
rpm -ivh epel-release-5-4.noarch.rpm

安装pcre库
wget http://ftp.exim.llorien.org/pcre/pcre-6.6.tar.gz
wget http://ncu.dl.sourceforge.net/project/pcre/pcre/8.12/pcre-8.12.tar.gz
tar zxf pcre-8.12.tar.gz
cd pcre-8.12
./configure --enable-utf8 --enable-unicode-properties
./configure --prefix=/usr/local/pcre --enable-utf8 --enable-unicode-properties

make
make install
cp /usr/local/pcre/include/* /usr/include/
echo '/usr/local/pcre/lib'  >> /etc/ld.so.conf
ldconfig

安装scons
wget http://prdownloads.sourceforge.net/scons/scons-2.1.0.alpha.20101125.tar.gz
tar zxvf scons-2.1.0.alpha.20101125.tar.gz
cd scons-2.1.0.alpha.20101125
python setup.py install

安装依赖库
yum install pcre pcre-devel
yum install scons boost boost-devel
yum install libpcre++-dev libboost-dev

安装js库
wget http://ftp.mozilla.org/pub/mozilla.org/js/js-1.7.0.tar.gz
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 gmake -f Makefile.ref export

安装mongodb
wget http://downloads.mongodb.org/src/mongodb-src-r1.8.1.tar.gz
tar zxvf mongodb-src-r1.8.1.tar.gz
cd mongodb-src-r1.8.1

vi /etc/ld.so.conf
echo '/usr/local/pcre/lib'  >> /etc/ld.so.conf
ldconfig

vi /etc/profile
export LD_LIBRARY_PATH=/usr/local/pcre/lib
export PATH="$PATH:/usr/local/pcre/lib"

vi SConstruct
搜索
"linux2" == os.sys.platform
env.Append( LIBPATH=["/usr/lib64" , "/lib64","/usr/local/pcre/lib" ] ) #指定pcre的lib,再报错直接env.Append( LIBPATH=[ "/usr/local/pcre/lib" ] )
env.Append( LIBS=["pthread"] )
env.Append( LIBS=["libpcrecpp"] )  #指定pcrecpp库名

scons all
scons --prefix=/usr/local/mongodb --full install
mkdir -p /usr/local/mongodb/etc /usr/local/mongodb/data /usr/local/mongodb/log/ /usr/local/mongodb/repair

vi /usr/local/mongodb/etc/mongodb.conf

dbpath = /usr/local/mongodb/data
logpath = /usr/local/mongodb/mongodb.log
repairpath = /usr/local/mongodb/repair
pidfilepath = /usr/local/mongodb/mongodb.pid
directoryperdb = true #一数据库使用一目录
logappend = true
bind_ip = 192.168.1.36
port = 27017
auth = true
maxConns = 1024
fork = true
rest = true
quota = true
quotaFiles = 1024
nssize = 16
master = true
slave = true
source = master.example.com

  • 1
  • 2
  • 下一页

相关内容