ClickHouse源码编译及CLion配置远端Linux编译环境
一、配置Linux C++编译环境:
1、下载软件包,cmake和gcc(9.x以上版本)
2、安装CMake:
tar -xzvf cmake-3.14.1.tar.gz
./bootstrap
make -j8
make install
安装验证:
3、安装GCC:
解压并下载其他依赖软件:
tar -xvf gcc-9.3.0.tar.xz
cd gcc-9.3.0/
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.4.tar.bz2
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-0.18.tar.bz2
安装gcc:
./contrib/download_prerequisites --no-verify
./configure --prefix=/usr/local/gcc-9.3.0
make -j8
make install
在系统路径/usr/bin中创建软连接:
ln -s /usr/local/gcc-9.3.0/bin/gcc /usr/bin/gcc
ln -s /usr/local/gcc-9.3.0/bin/g++ /usr/bin/g++
配置环境变量:
export CC=/usr/local/gcc-9.3.0/bin/gcc
export CXX=/usr/local/gcc-9.3.0/bin/g++
安装验证:
二、配置CLion:
1、在Windows用CLion打开ClickHouse_Kernel工程:
2、打开Settings配置,Toolchains里选择Remote Host:
3、配置远端Linux主机信息:
4、配置编译环境:
5、Toolchains配置完成后会自动生成对应的Deployment,在Root path中填写Linux上代码库的根目录(需先在Linux上创建/srv/code_repo/clickhouse目录,用于存放clickhouse代码,后面编译时会自动将代码上传至该目录):
6、在Deployment path中填写clickhouse代码目录:
7、这样配置路径,发现在编译的时候,相对路径/clickhouse被识别成了绝对路径,导致找不到CMakeLists.txt:
8、所以只能将Root path配置为/,Deployment配置为完整路径:
9、设置完成之后,右键点CMakeLists.txt,Load CMake Project:
10、编译CMake工程会先将本地代码上传至Linux,上传代码过程较慢,需要耐心等待:
11、设置CMake,Toolchain设置为之前配置的Remote Host,可以设置自动reload CMake工程:
12、可以设置自动上传修改的文件到远端Linux:
三、编译遇到的问题:
缺少第三方依赖库:
ClickHouse的依赖库在contrib目录下,可以从github上下载对应的版本v20.8.7.15-lts,拷贝至contrib目录下,或通过git命令更新submodule:
git submodule init
git submodule update
拷贝之后再Reload CMake Project,编译CMake工程成功,可以在CLion上浏览阅读ClickHouse源码了,可以进行代码跳转:
- 点赞
- 收藏
- 关注作者
评论(0)