本文主要基于oceanbase官网的配置手册
1.5 MiniOB 开发调试环境搭建-V1.0.0-开发者入门教程文档-分布式数据库使用文档 (oceanbase.com)
1.配置cmake
参考文章:
ubuntu安装cmake的三种方法(超方便!)-CSDN博客
建议使用方法二,miniob要求cmake版本在3.10及以上,我安装的最新目前没有出问题
2.安装gcc
如何在 Ubuntu 20.04 上安装 GCC(build-essential)-阿里云开发者社区 (aliyun.com)
按照实验要求9.3.0是够用的,同时不需要按照操作手册先安装5.4.0,多版本gcc反而后续会有切换问题,进行配置时会增加报错
3.配置依赖
在进行配置依赖之前确保已经进行了代码追踪和push进本地仓库,在安装benchmark后相关指令会报错
按照操作手册即可,进入miniob文件夹进行安装,将相关的代码部分克隆到deps文件夹下,除了jsoncpp,googletest,libevent还需要安装benchmark,不然在miniob编译时会报错找不到benchmark,报错如下:
Could not find a package configuration file provided by "benchmark" with any of the following names:
参考文章:
C++ 之Google benchmark测试与分析-CSDN博客
4.miniob编译
官网重新下载了一份完整的miniob的而非分支miniob_test,但是经过实践,会出现报错
fatal error: span: No such file or directory
进行搜索,span是c++标准20后支持的函数,可能与gcc版本不符合,后续与老师了解后得知miniob代码还在持续更新,因此放弃重新下载,继续使用miniob_test分支进行实验,该分支为23年比赛分支,没有后续更新
在先进行本地代码仓库配置后,bash build.sh init会报错,因此不使用脚本安装,按照操作手册的cmake和make指令进行编译即可