源码编译安装

获取源码的方式有两种,文档中默认使用第一种方式。
- 若服务器可以访问网络,则可以直接在服务器上使用wget命令下载源码。
- 若服务器无法访问外网,则可以通过浏览器下载源码包,并上传至服务器“/home”目录。
- 源码下载地址参考环境要求部分。
- 获取RocksDB源码包。
- 在本地浏览器下载RocksDB源码。
下载地址:https://github.com/facebook/rocksdb/archive/refs/tags/v6.10.2.tar.gz
- 将源码复制至服务器“/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
- 在本地浏览器下载RocksDB源码。
- 进入“/home”目录。
cd /home/
- 解压RocksDB安装包。
tar -zxvf rocksdb-6.10.2.tar.gz
- 进入解压目录。
cd rocksdb-6.10.2/
- 修改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)
编辑前:
编辑后:
- 创建目录。
mkdir build
- 进入创建的目录。
cd build
- 编译配置。
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/rocksdb -DWITH_SNAPPY=1 -DWITH_ZLIB=1 -DWITH_LZ4=1 -DWITH_ZSTD=1 -DWITH_BZ2=1 ..
- 执行编译命令。
make -j
如果编译报错提示,参考编译RocksDB过程中提示Cannot allocate memory的解决方法。
- 执行安装命令。
make install
- 将工具移动到安装目录。
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
- 查看安装目录。
ls /usr/local/rocksdb
- 配置环境变量。
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
父主题: 源码编译安装和卸载