1.1 系统环境
- Ubuntu 18.04 服务器版 纯净版
- Vmware 15.5
- CPU分配2核
- 内存分配4GB
- 磁盘分配80G (实际使用46G,分配需大于46G,仅DEBUG模式需要这么大)
1.2 软件环境
1.2.1 环境需求
- clang/clang++ 11及以上
- cmake 3.16
- git
- python
- ninja
安装git、python、ninja
sudo apt-get install git cmake python ninja-build
安装cmake3.16
sudo apt remove cmake
cd /usr/src
sudo wget https://github.com/Kitware/CMake/releases/download/v3.16.0/cmake-3.16.0.tar.gz
sudo tar -zxvf cmake-3.16.0.tar.gz
cd cd cmake-3.16.0
sudo apt install libssl-dev build-essential
sudo ./bootstrap && sudo make && sudo make install
安装clang/clang++ 11
sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)"
1.3 编译过程
首先从github拉取源码
git clone --recursive https://github.com/ClickHouse/ClickHouse.git
cmake前,确保当前的shell环境如下:
export CC=clang-11
export CXX=clang++-11
进入源码建立文件夹用于存储编译所需文件,进入其中
cd ClickHouse
mkdir build
cd build
生成ninja编译规则,其中 -DCMAKE_BUILD_TYPE=Debug
用于指定debug模式
cmake .. -DCMAKE_BUILD_TYPE=Debug
进行编译
ninja
此后会在当前文件夹下生成programe文件夹,内部的clickhouse为启动的主程序可以使用gdb对其进行调试,建议在run程序前对程序设立断点