参考:rocksdb/INSTALL.md at master · facebook/rocksdb

注意:gcc版本至少要4.8,安装教程:在CentOS/Debian/Ubuntu上编译安装最新版 GCC 8 , cmake 3 和ninja

Debian/Ubuntu操作如下:

apt install libsnappy-dev zlib1g-dev libbz2-dev liblz4-dev libzstd-dev libgflags-dev

下载,编译,安装:

wget https://github.com/facebook/rocksdb/archive/v6.6.4.zip #6.6.4 (2020-01-31)
unzip v6.6.4.zip
cd rocksdb-6.6.4/
make static_lib && sudo make install-static
make shared_lib && sudo make install-shared

CentOS操作如下:

yum install snappy snappy-devel zlib zlib-devel bzip2 bzip2-devel lz4-devel libasan

安装gflags:

git clone https://github.com/gflags/gflags.git
cd gflags
git checkout v2.0
./configure && make && sudo make install

安装zstandard:

wget https://github.com/facebook/zstd/archive/v1.1.3.tar.gz
mv v1.1.3.tar.gz zstd-1.1.3.tar.gz
tar zxvf zstd-1.1.3.tar.gz
cd zstd-1.1.3
make && sudo make install

下载,编译,安装:

wget https://github.com/facebook/rocksdb/archive/v6.1.2.zip #6.1.2 (6/4/2019)
unzip v6.1.2.zip
cd rocksdb-6.1.2/
make static_lib && sudo make install-static
make shared_lib && sudo make install-shared

测试程序:

#include <cstdio>
#include <string>#include "rocksdb/db.h"
#include "rocksdb/slice.h"
#include "rocksdb/options.h"using namespace std;
using namespace rocksdb;const std::string PATH = "/tmp/rocksdb_tmp";int main(){DB* db;Options options;options.create_if_missing = true;Status status = DB::Open(options, PATH, &db);assert(status.ok());Slice key("foo");Slice value("bar");std::string get_value;status = db->Put(WriteOptions(), key, value);if(status.ok()){status = db->Get(ReadOptions(), key, &get_value);if(status.ok()){printf("get %s success!!\n", get_value.c_str());}else{printf("get failed\n"); }}else{printf("put failed\n");}delete db;
}

编译,运行

动态编译:

g++ -std=c++11 -o rocksdbtest test.cpp -lrocksdb  -lpthread
./rocksdbtest

静态编译:

g++ -std=c++11 -o rocksdbtest test.cpp ./librocksdb.a -lpthread -lsnappy  -lz -lbz2 -lzstd /usr/lib/x86_64-linux-gnu/liblz4.a

参考:Getting Started with RocksDB in CentOS 7 - Jeff Li
如果报错:

./rocksdbtest: error while loading shared libraries: librocksdb.so.6.1: cannot open shared object file: No such file or directory

操作如下:

#echo "/usr/local/lib" |sudo tee /etc/ld.so.conf.d/rocksdb-x86_64.conf
sudo ldconfig -v  #refresh the ldconfig cache

或者:

INSTALL_PATH=/usr
make shared_lib && sudo make install-shared
sudo ldconfig -v  #refresh the ldconfig cache

Debian/Ubuntu/Centos下编译安装RocksDB相关推荐

  1. debian编译mysql_MySQL数据库之Debian 6.02下编译安装 MySQL 5.5的方法

    本文主要向大家介绍了MySQL数据库之Debian 6.02下编译安装 MySQL 5.5的方法 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 环境 : Debian 6.02 ...

  2. nginx 怎么重新编译安装mysql,centos 下 编译安装 nginx + mysql + php 服务

    centos 下编译安装nginx + mysql + php 服务 1.安装nginx 1.1.安装依赖包 yum install wget make gcc gcc-c++ pcre-devel ...

  3. CentOS下编译安装python包管理安装工具pip教程

    ubuntu 安装pip 代码如下: apt-get install python-pip 安装requests, pip install requests 对于centos的,直接 yum inst ...

  4. CentOS下编译安装LAMP开发环境

    http://www.linuxidc.com/Linux/2011-10/45743.htm 配置PHP开发环境前获取软件包.笔者用的mysql版本是社区版本的.主要软件包有: httpd,mysq ...

  5. debian编译php mysql5.6_在Debian/Ubuntu上免编译安装PHP7.2~5.6

    本文介绍在 Debian/Ubuntu 系统上免编译安装 PHP7.2~5.6,教程适用系统为:Debian 9.Deiban 8.Ubuntu 18.04 LTS.Ubuntu 16.04 LTS. ...

  6. centos下编译安装curl拓展

    ---恢复内容开始--- 新的php环境没有curl拓展,现在用编译方式增加拓展. 一.安装curl 当前curl最新版本为7.32,下载地址为http://curl.haxx.se/download ...

  7. RHEL/CentOS下编译安装Nginx

    ##下载nginx源码: wget http://nginx.org/download/nginx-1.7.8.tar.gz tar -xv -f nginx-1.7.8.tar.gz -C /usr ...

  8. debian源码编译安装mysql5.6_MySQL 5.6 Linux Debian/Ubuntu源码编译安装 LNMP之MySQL

    安装所需依赖和工具apt-get install make gcc g++ libncurses5-dev cmake bison 配置cmake编译参数cmake . -DCMAKE_INSTALL ...

  9. CentOS下编译安装Gcc-4.9

    给公司测试服务器搭环境,手工安装gcc-4.9.0颇费功夫,记录如下. 1.安装gcc.g++,系统源默认安装版本为4.4.7: 2.安装依赖包GMP.MPFR.MPC,注意安装顺序: 3.修改动态库 ...

最新文章

  1. application.yml 动态替换_新途锐改顶配矩阵大灯,动态流水尾灯
  2. linux复制压缩文件,Linux如何复制,打包,压缩文件
  3. 知道你用linux可视文件系统为什么搜索不到文件吗?(隐藏文件夹搜不到!!要用find . -name “xxx“命令)
  4. 解决UIScrollView把uitableviewcell的点击事件屏蔽
  5. 推荐我看过的几本好书给大家!(2)
  6. 一个极简版本的 VUE SSR demo
  7. 【sklearn第十一讲】随机梯度下降
  8. 游戏数据分析方法-活跃向
  9. oracle 卸载(手动,无universal installer)
  10. 基于n元语言模型整句拼音汉字转换
  11. 那些年Android面试官常问的知识点,快来收藏!
  12. 云计算如何与企业管理协同作战
  13. XPDL之流程定义元模型
  14. 教你如何写好一篇专利申请?
  15. 基于LINUX下ESP_IDF开发环境搭建安装问题总结
  16. HEIC文件怎么打开,如何将HEIC格式转换为JPG格式
  17. 计算机技术发展的一些随笔总结(我们需要思考)
  18. Retrofit+kotlin Coroutines(协程)+mvvm(Jetpack架构组件)实现更简洁的网络请求
  19. 管理信息系统【七】之 系统实施与评价
  20. Unity3d简单的发牌效果

热门文章

  1. Android测试原理(三)——使用Eclipse的ADT进行测试
  2. oracle的高级分组函数,group by 高级函数使用
  3. gffread处理工具
  4. Journal of Genetics and Genomics科学编辑招聘启事
  5. 南方医科大学珠江医院检验医学部生物信息分析师招聘启示
  6. BT:​关键胞外酶触发了细菌群落演替偶联的高效堆肥
  7. 扩增子统计绘图6韦恩图:比较组间共有和特有OTU或分类单元
  8. R语言构建xgboost模型:基于稀疏数据(dgCMatrix which is a sparse matrix)、稠密数据(dense matrix)、xgb.DMatrix数据聚合
  9. R语言使用ggplot2包geom_jitter()函数绘制分组(strip plot,一维散点图)带状图(水平带状图、垂直带状图、抖动程度配置)实战
  10. R语言ggplot2可视化配置多个子图中的相同分组使用相同的填充色实战