ClickHouse最版本源码编译(X86)

2021/5/17 12:28:30

本文主要是介绍ClickHouse最版本源码编译(X86),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

ClickHouse最版本源码编译

    • 官方指导:
    • 本地环境编译
    • 编译过程:
    • 附上编译日志:

官方指导:

链接: link.

本地环境编译

  1. 准备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
[8140/9556] Building CXX object src/CMakeFiles/dbms.dir/Storages/MergeTree/ReplicatedMergeTreePartHeader.cpp.o

附上编译日志:

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



这篇关于ClickHouse最版本源码编译(X86)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程