ClickHouse最版本源码编译(X86)
ClickHouse最版本源码编译
- 官方指导:
- 本地环境编译
- 编译过程:
- 编译后的结果:
- client和server版本:
- 编译后的代码占磁盘大小
官方指导:
链接: link.
本地环境编译
- 准备clickhouse代码版本:
git clone --recursive https://github.com/ClickHouse/ClickHouse.git
2.搭建ubuntu容器编译环境:
docker pull ubuntu:20.04
3.挂载代码到容器:
docker run -ti -v /home/helios/:/home ubuntu:20.04 /bin/bash
4.配置国内源(注意是版本20.04):
echo "deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse " > /etc/apt/sources.list && \
echo "deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse " >> /etc/apt/sources.list && \
echo "deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse" >> /etc/apt/sources.list && \
echo "deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse" >> /etc/apt/sources.list && \
echo "deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse" >> /etc/apt/sources.list && \
echo "deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse" >> /etc/apt/sources.list && \
echo "deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse" >> /etc/apt/sources.list && \
echo "deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse" >> /etc/apt/sources.list && \
echo "deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse" >> /etc/apt/sources.list && \
echo "deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse focal" >> /etc/apt/sources.list
5.更新源:
apt-get update
6.安装依赖包:
apt-get install vim
apt-get install git cmake python ninja-build -y
过程中Geographic area: 6 Asia
Time zone: 70 Shanghai
7.按张clang-12:
apt-get install wget sudo
apt install lsb-release wget software-properties-common
sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)"
8.设置clang环境变量:
export CC=clang-12
export CXX=clang++-12:
9.编译源码:
cd /home/ClickHouse
#git checkout v20.3.9.70-lts -f
mkdir build
cd build
cmake ..
ninja
编译过程:
进度有点像bazel
root@acfa7cf72c85:/home/ClickHouse/build# ninja
[0/2] Re-checking globbed directories...
[3507/9556] Generating VCSRevision.h
-- Found Git: /usr/bin/git (found version "2.25.1")
[6356/9556] Creating preprocessed file /home/ClickHouse/contrib/krb5/src/lib/krb5/error_tables/kdb5_err.c
+ /usr/bin/awk -f /home/ClickHouse/contrib/krb5/src/util/et/et_h.awk outfile=kdb5_err.h /home/ClickHouse/contrib/krb5/src/lib/krb5/error_tables/kdb5_err.et
+ /usr/bin/awk -f /home/ClickHouse/contrib/krb5/src/util/et/et_c.awk outfile=kdb5_err.c textdomain= localedir= /home/ClickHouse/contrib/krb5/src/lib/krb5/error_tables/kdb5_err.et
[6357/9556] Creating preprocessed file /home/ClickHouse/contrib/krb5/src/lib/krb5/error_tables/k5e1_err.c
+ /usr/bin/awk -f /home/ClickHouse/contrib/krb5/src/util/et/et_h.awk outfile=k5e1_err.h /home/ClickHouse/contrib/krb5/src/lib/krb5/error_tables/k5e1_err.et
+ /usr/bin/awk -f /home/ClickHouse/contrib/krb5/src/util/et/et_c.awk outfile=k5e1_err.c textdomain= localedir= /home/ClickHouse/contrib/krb5/src/lib/krb5/error_tables/k5e1_err.et
[6359/9556] Creating preprocessed file /home/ClickHouse/contrib/krb5/src/lib/krb5/error_tables/krb524_err.c
+ /usr/bin/awk -f /home/ClickHouse/contrib/krb5/src/util/et/et_h.awk outfile=krb524_err.h /home/ClickHouse/contrib/krb5/src/lib/krb5/error_tables/krb524_err.et
+ /usr/bin/awk -f /home/ClickHouse/contrib/krb5/src/util/et/et_c.awk outfile=krb524_err.c textdomain= localedir= /home/ClickHouse/contrib/krb5/src/lib/krb5/error_tables/krb524_err.et
[6360/9556] Creating preprocessed file /home/ClickHouse/contrib/krb5/src/lib/krb5/error_tables/asn1_err.c
+ /usr/bin/awk -f /home/ClickHouse/contrib/krb5/src/util/et/et_h.awk outfile=asn1_err.h /home/ClickHouse/contrib/krb5/src/lib/krb5/error_tables/asn1_err.et
+ /usr/bin/awk -f /home/ClickHouse/contrib/krb5/src/util/et/et_c.awk outfile=asn1_err.c textdomain= localedir= /home/ClickHouse/contrib/krb5/src/lib/krb5/error_tables/asn1_err.et
[6361/9556] Creating preprocessed file /home/ClickHouse/contrib/krb5/src/lib/krb5/error_tables/krb5_err.c
+ /usr/bin/awk -f /home/ClickHouse/contrib/krb5/src/util/et/et_h.awk outfile=krb5_err.h /home/ClickHouse/contrib/krb5/src/lib/krb5/error_tables/krb5_err.et
+ /usr/bin/awk -f /home/ClickHouse/contrib/krb5/src/util/et/et_c.awk outfile=krb5_err.c textdomain= localedir= /home/ClickHouse/contrib/krb5/src/lib/krb5/error_tables/krb5_err.et
[6364/9556] Creating preprocessed file /home/ClickHouse/contrib/krb5/src/lib/krb5/error_tables/kv5m_err.c
+ /usr/bin/awk -f /home/ClickHouse/contrib/krb5/src/util/et/et_h.awk outfile=kv5m_err.h /home/ClickHouse/contrib/krb5/src/lib/krb5/error_tables/kv5m_err.et
+ /usr/bin/awk -f /home/ClickHouse/contrib/krb5/src/util/et/et_c.awk outfile=kv5m_err.c textdomain= localedir= /home/ClickHouse/contrib/krb5/src/lib/krb5/error_tables/kv5m_err.et
[6368/9556] Creating preprocessed file /home/ClickHouse/contrib/krb5/src/lib/gssapi/krb5/gssapi_err_krb5.c
+ /usr/bin/awk -f /home/ClickHouse/contrib/krb5/src/util/et/et_h.awk outfile=gssapi_err_krb5.h /home/ClickHouse/contrib/krb5/src/lib/gssapi/krb5/gssapi_err_krb5.et
+ /usr/bin/awk -f /home/ClickHouse/contrib/krb5/src/util/et/et_c.awk outfile=gssapi_err_krb5.c textdomain= localedir= /home/ClickHouse/contrib/krb5/src/lib/gssapi/krb5/gssapi_err_krb5.et
[6370/9556] Creating preprocessed file /home/ClickHouse/contrib/krb5/src/lib/gssapi/generic/gssapi_err_generic.c
+ /usr/bin/awk -f /home/ClickHouse/contrib/krb5/src/util/et/et_h.awk outfile=gssapi_err_generic.h /home/ClickHouse/contrib/krb5/src/lib/gssapi/generic/gssapi_err_generic.et
+ /usr/bin/awk -f /home/ClickHouse/contrib/krb5/src/util/et/et_c.awk outfile=gssapi_err_generic.c textdomain= localedir= /home/ClickHouse/contrib/krb5/src/lib/gssapi/generic/gssapi_err_generic.et
[6371/9556] Creating preprocessed file /home/ClickHouse/contrib/krb5/src/util/profile/prof_err.c
+ /usr/bin/awk -f /home/ClickHouse/contrib/krb5/src/util/et/et_h.awk outfile=prof_err.h /home/ClickHouse/contrib/krb5/src/util/profile/prof_err.et
+ /usr/bin/awk -f /home/ClickHouse/contrib/krb5/src/util/et/et_c.awk outfile=prof_err.c textdomain= localedir= /home/ClickHouse/contrib/krb5/src/util/profile/prof_err.et
[9556/9556] cd /home/ClickHouse/build/programs && /usr/bin/cmake -E create_symlink clickhouse clickhouse-server
编译后的结果:
root@acfa7cf72c85:/home/ClickHouse/build# ll programs/
total 3699136
drwxr-xr-x 17 root root 4096 May 17 11:15 ./
drwxr-xr-x 13 root root 4096 May 17 10:04 ../
drwxr-xr-x 3 root root 28 May 17 09:42 CMakeFiles/
-rw-r--r-- 1 root root 571 May 17 09:42 CTestTestfile.cmake
drwxr-xr-x 4 root root 97 May 17 09:42 bash-completion/
drwxr-xr-x 3 root root 115 May 17 11:08 benchmark/
-rwxr-xr-x 1 root root 1910491432 May 17 11:15 clickhouse*
lrwxrwxrwx 1 root root 10 May 17 11:15 clickhouse-benchmark -> clickhouse*
lrwxrwxrwx 1 root root 10 May 17 11:15 clickhouse-client -> clickhouse*
lrwxrwxrwx 1 root root 10 May 17 11:15 clickhouse-compressor -> clickhouse*
lrwxrwxrwx 1 root root 10 May 17 11:15 clickhouse-copier -> clickhouse*
lrwxrwxrwx 1 root root 10 May 17 11:15 clickhouse-extract-from-config -> clickhouse*
lrwxrwxrwx 1 root root 10 May 17 11:15 clickhouse-format -> clickhouse*
lrwxrwxrwx 1 root root 10 May 17 11:15 clickhouse-git-import -> clickhouse*
-rwxr-xr-x 1 root root 935721632 May 17 11:08 clickhouse-library-bridge*
lrwxrwxrwx 1 root root 10 May 17 11:15 clickhouse-local -> clickhouse*
lrwxrwxrwx 1 root root 10 May 17 11:15 clickhouse-obfuscator -> clickhouse*
-rwxr-xr-x 1 root root 941675496 May 17 11:08 clickhouse-odbc-bridge*
lrwxrwxrwx 1 root root 10 May 17 11:15 clickhouse-server -> clickhouse*
drwxr-xr-x 3 root root 112 May 17 11:08 client/
-rw-r--r-- 1 root root 5348 May 17 09:42 cmake_install.cmake
drwxr-xr-x 3 root root 116 May 17 11:07 compressor/
drwxr-xr-x 3 root root 112 May 17 11:15 copier/
drwxr-xr-x 3 root root 125 May 17 11:07 extract-from-config/
drwxr-xr-x 3 root root 112 May 17 11:15 format/
drwxr-xr-x 3 root root 116 May 17 11:07 git-import/
drwxr-xr-x 3 root root 113 May 17 11:07 install/
drwxr-xr-x 3 root root 78 May 17 09:42 library-bridge/
drwxr-xr-x 3 root root 111 May 17 11:15 local/
drwxr-xr-x 3 root root 116 May 17 11:07 obfuscator/
drwxr-xr-x 4 root root 91 May 17 09:42 odbc-bridge/
drwxr-xr-x 3 root root 230 May 17 11:15 server/
client和server版本:
root@acfa7cf72c85:/home/ClickHouse/build/programs# ./clickhouse client --version
ClickHouse client version 21.6.1.1.
root@acfa7cf72c85:/home/ClickHouse/build/programs# ./clickhouse server --version
ClickHouse server version 21.6.1.1.
root@acfa7cf72c85:/home/ClickHouse/build/programs#
编译后的代码占磁盘大小
26G ./ClickHouse
ClickHouse最版本源码编译(X86)相关推荐
- 定制化ROM采坑之路(1):魔趣8.1版本源码下载和编译过程
前言 记得当年刚接触Android的时候,就看有关老罗的文章倒是让我的安卓内功提升不少,但是由于工作都是停留在应用层的缘故,我几乎对这块并没有深入研究,最近公司的新产品对Framework层的开发有所 ...
- [转帖]nginx1.17.2版本源码安装
nginx1.17.2版本源码安装 原创: 沧海书生 Ansible爱好者 昨天 公众号里面的内容 这里简单测试了下在x86的虚拟机里面编译安装 nginx 仅make make install ng ...
- CYQ.Data 数据框架 发放V1.5版本源码
2019独角兽企业重金招聘Python工程师标准>>> 本篇的内容很简单,就发放V1.5版本源码,同时补充了所有发布版本的API文档. 具体相关下载地址见: 秋色园下载中心:http ...
- CYQ.Data 数据框架 加快开源速度 发布V1.5.5版本源码
前言: 上周发布:秋色园QBlog V2.5 后台管理系统源码发布下载 之后,截至今日,后台统计的下载次数是:1321. 在此感谢大家的支持与关注. 秋色园QBlog 后台管理系统是 CYQ.Data ...
- mac版源码编译安装mysql
mac版源码编译安装mysql 一.基础环境 1.清理环境(清理系统自带的Mariadb和boost) CentOS 7 版本的系统默认自带安装了MariaDB,需要先清理. ##查询已安装的mari ...
- MongoDB4.4版本源码部署分片集群
MongoDB4.4版本源码部署分片集群 node1:39.103.204.27 node2:49.232.197.39 node3:43.138.41.190 shard1 PRIMARY shar ...
- vue2.6.11版本源码运行报错问题处理
vue2.6.11版本源码运行报错问题处理 1.源码下载 git clone http://github.com/vuejs/vue.git 2.安装npm依赖包 npm install 3.运行报错 ...
- 人机博弈 围棋程序GNU GO 所有版本源码及使用方法
GNU Go是免费的带源代码的人机对弈软件,棋力在九级左右.和其它GNU 软件一样, 它遵从 GNU 公用许可证GPL.你可免费获得它的源代码,并可自由使用和修改. 但GNU GO只提供字符界面,更多 ...
- 2022最新彩虹易支付系统二开版本源码/新增推广返利模式+工单系统
源码介绍 2022最新彩虹易支付系统二开版本源码/新增推广返利模式+工单系统 系统环境要求:PHP>=7.1 + MySQL5.6 更新日志: 2022/10/26 1.新增用户登陆邮箱提醒(防 ...
最新文章
- mysql ceill_MYSQL常用函数
- raid0、1、5、10创建
- 34. Leetcode 234. 回文链表 (链表-双指针)
- 测度定义_Real analysis:外测度的一个等价定义
- java扫描指定package注解_java随笔-扫描使用指定注解的类与方法
- python爬虫抓取文本_Python实现可获取网易页面所有文本信息的网易网络爬虫功能示例...
- Java在Windows下导出xml文件到Linux服务器上
- 把关与服务的关系_泉州代做投标书-电子标书值得信赖 - 泉州广告服务
- 二级python和office哪个难_对于操作office来说,python能与vbs相比吗?谁强谁弱呢?...
- 图解TCPIP---第六章---传输层TCPUDP
- 用python实现代码雨(电影黑客帝国里的效果,代码可直接运行)
- 智能爆炸的真实(下)
- 沧州中考计算机考试时间,2017年沧州市中考考试科目及时间
- (Python)sum函数的用法
- 计算机网络-自顶向下方法-笔记【第2章-应用层】
- Kyligence + 亚马逊云科技丨实现云上的精细化运营和数字化指挥
- 关于汽车诊断OBD的理解(ISO15031-5)(转发)
- 18-4-16《Population-based VS. Single-solution Heuristics for the Travelling Thief Problem》2-opt,TTP
- Use Configs
- 区块链报错 5 | Contract has not been deployed to detect network (network/artifact mismatch)
热门文章
- 使用原生js实现点击按钮展示不同状态内容
- 对比腾讯、163、商务密邮、360加密邮,发加密邮件用哪个更好
- Autocad2013中文破解版(64位)安装图文教程
- WIN10系统下提示文件被另外一个程序打开无法重命名、删除、移动的解决方法
- ecm titanium_如何使用Titanium Backup备份和还原Android手机
- 罗斯蒙特3051变送器以后的发展方向
- app开发和web开发_了解2020年现代Web App开发的概念
- 边界扫描JTAG接口测试用例的编写
- 金成股份冲刺上交所:年营收5.5亿 姬蕾姐弟控制98%股权
- 硅晶圆出货量大涨带好消息:电脑手机数码产品价格暂时平稳