系统环境

CentOS Linux release 7.9.2009 (Core)

Linux dev 3.10.0-1160.21.1.el7.x86_64 #1 SMP Tue Mar 16 18:28:22 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

下载源代码

使用最新仓库中的代码 git clone https://github.com/yugabyte/yugabyte-db.git

安装系统依赖

sudo yum update
sudo yum groupinstall -y 'Development Tools'
sudo yum install -y ruby perl-Digest epel-release ccache git python2-pip python-devel python3 python3-pip python3-devel which
sudo yum install -y cmake3 ctest3 ninja-build

准备编译工具

sudo ln -s /usr/bin/cmake3 /usr/local/bin/cmake
sudo ln -s /usr/bin/ctest3 /usr/local/bin/ctest

开始编译

cd ~/code/yugabyte-db
./yb_build.sh release

此种编译方式会默认使用linuxbrew toolchains来进行编译。

使用--gcc9或者--clang9使用本地编译。

比如

./yb_build.sh  release --gcc9

https://github.com/yugabyte/yugabyte-db/issues/8808

注意:

yugabyte把所依赖的linuxbrewthirdparty放在了Github上,在执行编译的时候会去Github上下载这两个包,因为体积过大,在国内下载缓慢,很容易失败。所以可以事先手动将对应版本的包下载到编译机器上的/opt/yb-build/download_cache/目录下。使用gccclang编译的话,可以不用下载linuxbrew包,但thirdparty必须是gcc或者clang对应编译的。

使用

./yb_release --build release --build_args "--gcc9" --build_target build/yb2.7

来生成对应的安装包

编译完成

root@dev yugabyte-db$ cd build
root@dev yugabyte-db$ ls
latest  latest_build_root  release-gcc9-dynamic  venv  yb2.7  yugabyte-bash-common

我这里采用的是gcc9编译的。gcc9需要自行安装。devtoolset-9

Copyright © itrunner.cn 2020 all right reserved,powered by Gitbook该文章修订时间: 2024-08-01 14:07:50

results matching ""

    No results matching ""