ubuntu20 编译 TiFlash

  1. 下载源码
git clone --recursive https://github.com/pingcap/tiflash.git
  1. 安装 rustup
curl https://sh.rustup.rs -sSf | sh -s -- -y --profile minimal --default-toolchain nightly
source $HOME/.cargo/env
  1. 安装 llvm
# 1. 添加 llvm 源
# 在 https://apt.llvm.org/ 页面找到 ubuntu20 对应的 source 网址
# 复制到 apt source list 中

$ cat /etc/apt/source.list
...deb http://apt.llvm.org/focal/ llvm-toolchain-focal main
deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal main
# 13
deb http://apt.llvm.org/focal/ llvm-toolchain-focal-13 main
deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-13 main
# 14
deb http://apt.llvm.org/focal/ llvm-toolchain-focal-14 main
deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-14 main

# 2. 更新 apt
$ apt update

# 3. 安装 llvm 
# add LLVM repo key
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -
# install LLVM packages
apt-get install clang-13 lldb-13 lld-13 clang-tools-13 clang-13-doc libclang-common-13-dev libclang-13-dev libclang1-13 clang-format-13 clangd-13 clang-tidy-13 libc++-13-dev libc++abi-13-dev libomp-13-dev llvm-13-dev libfuzzer-13-dev
# install other dependencies
apt-get install lcov cmake ninja-build libssl-dev zlib1g-dev libcurl4-openssl-dev

# 4. clang 新建软链接
ln -s /usr/bin/clang-13 /usr/bin/clang
ln -s /usr/bin/clang++-13 /usr/bin/clang++
  1. 安装 cmake3.23.0
$ wget https://cmake.org/files/v3.23/cmake-3.23.0-linux-x86_64.tar.gz
$ tar -zxvf cmake-3.23.0-linux-x86_64.tar.gz
$ mv cmake-3.23.0-linux-x86_64.tar.gz ./cmake-3.23.0


# 可选添加软连接
sudo ln -s /home/ubuntu/cmake-3.23.0/bin/cmake /usr/local/bin
  1. 编译 tiflash
$ cd tiflash

$ mkdir build
$ cd build 

# 指定 cmake3.23 的绝对路径
$ ~/cmake-3.23.0/bin/cmake .. -G Ninja

# 注意: 删除 build.ninja 中所有 ‘-Werror’ 
# -Werror 会导致编译过程中所有警告被当作 Error,结果编译失败
$ vi build.ninja

# 在 vi 命令行模式下,输入以下全局替换的命令
$ :%s/-Werror/ /g

# -j 指定线程数。
# 注意:不要空着不写。如果空着 -j 参数,ninja 会尽量跑满所有 CPU 核心,对内存负载极大,最终编译失败
$ ninja tiflash
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值