ClickHouse源码编译及CLion配置远端Linux编译环境

小霸王 发表于 2021/08/02 17:01:49 2021/08/02
【摘要】 一、配置Linux C++编译环境: 1、下载软件包,cmake和gcc(9.x以上版本) 2、安装CMake:tar -xzvf cmake-3.14.1.tar.gz./bootstrapmake -j8make install安装验证:3、安装GCC:解压并下载其他依赖软件:tar -xvf gcc-9.3.0.tar.xzcd gcc-9.3.0/wget ftp://gcc.gnu...

一、配置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、在WindowsCLion打开ClickHouse_Kernel工程:

2、打开Settings配置,Toolchains里选择Remote Host

3、配置远端Linux主机信息:

4、配置编译环境:

5Toolchains配置完成后会自动生成对应的Deployment,在Root path中填写Linux上代码库的根目录(需先在Linux上创建/srv/code_repo/clickhouse目录,用于存放clickhouse代码,后面编译时会自动将代码上传至该目录):

6、在Deployment path中填写clickhouse代码目录:

7、这样配置路径,发现在编译的时候,相对路径/clickhouse被识别成了绝对路径,导致找不到CMakeLists.txt

8、所以只能将Root path配置为/Deployment配置为完整路径:

9、设置完成之后,右键点CMakeLists.txtLoad CMake Project

10、编译CMake工程会先将本地代码上传至Linux,上传代码过程较慢,需要耐心等待:

11、设置CMakeToolchain设置为之前配置的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源码了,可以进行代码跳转:

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。