LeanStore 是一个学术界持续推进的 larger-than-memory 的 database。在编译测试的时候会提示以下缺少如下部分库,采用如下命令可以安装缺少的库。
/usr/bin/ld: cannot find -lz: No such file or directory
/usr/bin/ld: cannot find -lbz2: No such file or directory
/usr/bin/ld: cannot find -llz4: No such file or directory
/usr/bin/ld: cannot find -lsnappy: No such file or directory
/usr/bin/ld: cannot find -lzstd: No such file or directory
/usr/bin/ld: cannot find -luring: No such file or directory
sudo apt install liburing-dev libzstd-dev libsnappy-dev liblz4-dev libbz2-dev zlib1g-dev
编译时还会遇到 undefined reference to `typeinfo for rocksdb::DB' 的错误,原因是 apt 中安装的 RocksDB 没有启用 RTTI 编译选项,删除后从源码编译即可。
# 移除 apt 安装的 RocksDB
sudo apt remove librocksdb6.11
# 源码安装 RocksDB
git clone https://github.com/facebook/rocksdb.git
cd rocksdb
USE_RTTI=1 DEBUG_LEVEL=0 make shared_lib install-shared