Install ssdb-rocks on CentOS 6

Install ssdb-rocks on CentOS 6

C.C.  发表于 2014年08月10日 20:14 | Hits: 649

为了优化节操精选的弹幕系统,打算更换到Facebook的RocksDB测试,为了支持多台Web Server的场景,打算直接上ssdb-rocks来完成目的,如果有这个需求的朋友还遇到过坑,可以参考一下步骤:

RocksDB需要的依赖

yum install zlib zlib-devel bzip2 bzip2-devel gflags gflags-devel snappy snappy-devel

RocksDB需要的gcc47-c++

  1. cd /etc/yum.repos.d/
  2. wget http://people.centos.org/tru/devtools-1.1/devtools-1.1.repo
  3. yum --enablerepo=testing-1.1-devtools-6 install devtoolset-1.1-gcc devtoolset-1.1-gcc-c++
  4. 导入环境变量
export CC=/opt/centos/devtoolset-1.1/root/usr/bin/gcc  
export CPP=/opt/centos/devtoolset-1.1/root/usr/bin/cpp  
export CXX=/opt/centos/devtoolset-1.1/root/usr/bin/c++  

安装ssdb-rocks

  1. git clone https://github.com/ideawu/ssdb-rocks.git
  2. make && make install

注意:上面是我fork的原作者的库做了修改,如果使用作者的git repo安装可能会遇到下面的错误:2014-08-11现在的版本已经Fix了

/home/docker-cc/Downloads/ssdb-rocks/deps/rocksdb-master/librocksdb.a(env_posix.o): In function `rocksdb::(anonymous namespace)::PosixEnv::NowNanos()‘:
/home/docker-cc/Downloads/ssdb-rocks/deps/rocksdb-master/util/env_posix.cc:1342: undefined reference to `clock_gettime‘
collect2: error: ld returned 1 exit status  
make[1]: *** [all] Error 1  
make[1]: Leaving directory `/home/docker-cc/Downloads/ssdb-rocks/src‘  
make: *** [all] Error 2  

修改build.sh文件,把:

case "$TARGET_OS" in  
    Darwin)
        #PLATFORM_CLIBS="-pthread"
        #PLATFORM_CFLAGS=""
    ;;
    Linux)
        PLATFORM_CLIBS="-pthread"
    ;

中的Linux)部分修改成“-pthread -lrt"就好了

原文链接: http://onlyvc.us/install-ssdb-rocks-on-centos-6/

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。