中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

源码编译安装

获取源码的方式有两种,文档中默认使用第一种方式。

  • 若服务器可以访问网络,则可以直接在服务器上使用wget命令下载源码。
  • 若服务器无法访问外网,则可以通过浏览器下载源码包,并上传至服务器“/home”目录。
  • 源码下载地址参考环境要求部分。
  1. 获取RocksDB源码包。
    1. 在本地浏览器下载RocksDB源码。

      下载地址:https://github.com/facebook/rocksdb/archive/refs/tags/v6.10.2.tar.gz

    2. 将源码复制至服务器“/home”目录。

    若服务器可以访问网络,则可以直接在服务器上使用wget命令下载源码。

    cd /home
    wget https://github.com/facebook/rocksdb/archive/refs/tags/v6.10.2.tar.gz
    mv v6.10.2.tar.gz rocksdb-6.10.2.tar.gz
  2. 进入“/home”目录。
    cd /home/
  3. 解压RocksDB安装包。
    tar -zxvf rocksdb-6.10.2.tar.gz
  4. 进入解压目录。
    cd rocksdb-6.10.2/
  5. 修改CMake编译配置文件。
    vim CMakeLists.txt

    按照源码包中的配置文件进行编译,会在生成benchmark工具时,出现所需静态库找不到的错误。需修改CMakeList.txt配置文件以解决该问题。具体操作为在第1186行添加如下代码段:

    add_subdirectory(third-party/gtest-1.8.1/fused-src/gtest)
    add_library(testharness STATIC
    test_util/testharness.cc)
    target_link_libraries(testharness gtest)

    编辑前:

    编辑后:

  6. 创建目录。
    mkdir build
  7. 进入创建的目录。
    cd build
  8. 编译配置。
    cmake -DCMAKE_INSTALL_PREFIX=/usr/local/rocksdb -DWITH_SNAPPY=1 -DWITH_ZLIB=1 -DWITH_LZ4=1 -DWITH_ZSTD=1 -DWITH_BZ2=1 ..

  9. 执行编译命令。
    make -j

    如果编译报错提示,参考编译RocksDB过程中提示Cannot allocate memory的解决方法

  10. 执行安装命令。
    make install

  11. 将工具移动到安装目录。
    cp ../utilities/merge_operators.h /usr/local/rocksdb/include/rocksdb/utilities/
    mkdir -p /usr/local/rocksdb/tools
    cp -p ./tools/ldb /usr/local/rocksdb/tools
    cp -p ./tools/sst_dump /usr/local/rocksdb/tools
  12. 查看安装目录。
    ls /usr/local/rocksdb

  13. 配置环境变量。
    export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/rocksdb/include/
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/rocksdb/lib64/
    export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/rocksdb/lib64/ 
    export PATH=$PATH:/usr/local/rocksdb/tools