在Linux 下編譯CockroachDB源碼(確保可聯網)
一、編譯環境說明
官方文檔:https://www.cockroachlabs.com/docs/stable/install-cockroachdb-linux.html
在這裏,我們以CockroachDB 19.1.2版本的源碼爲例說明一般的編譯方法。我們需要如下環境:
(1) 一個虛擬機(X86_64,4vCores/8G mem,20G本地存儲)
(2) 操作系統:CentOS Linux release 7.6.1810 (Core)
(3) 需要的軟件組件:
1.git
2.ncurses
3.Yarn(需要nodeJS)安裝源配置好epel後,安裝yarn後會自動將nodeJS安裝
4.Install the following prerequisites, as necessary:
C++ compiler |
Must support C++ 11. GCC prior to 6.0 does not work due to this issue. On macOS, Xcode should suffice. |
Go |
Version 1.11.6 or higher is required. |
Bash |
Versions 4+ are preferred, but later releases from the 3.x series are also known to work. |
CMake |
Versions 3.81+ are known to work. |
Autoconf |
Version 2.68 or higher is required. |
二. 編譯環境安裝和配置
(1)安裝前準備工作
保證虛擬機可以連接外網
/etc/yum.repos.d無需任何修改
安裝epel,保證安裝yarn時自動尋找nodejs包進行安裝
yum -y install epel-release
(2)安裝git
yum -y install git
(3) 安裝ncurses
yum -y install ncurses-devel
- 安裝gcc g++
無需安裝CentOS7自帶的gcc g++編譯器滿足。
Gcc版本:gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36)
(5) 安裝cmake
打開https://cmake.org/download/ 網站,下載cmake-3.15.0-rc3.tar.gz
tar xzvf cmake-3.15.0-rc3.tar.gz
./bootstrap
make
make install
(6) 安裝autoconf
yum -y install autoconf
(7) 安裝golang 1.12.6
wget https://dl.google.com/go/go1.12.6.linux-amd64.tar.gz
tar -C /usr/local -xzvf https://dl.google.com/go/go1.12.6.linux-amd64.tar.gz
修改/etc/profile
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
(8) 安裝yarn
yum install -y yarn (會自動安裝nodeJS)
三、編譯X86-64 Linux下運行的CockroachDB
(1) 獲取CockroachDB源碼
export GOPATH=$HOME/workspace
export GOBIN=$GOPATH/bin
cd $GOPATH
注意一定要建立如下文件夾(在下面文件夾下clone代碼)
mkdir -p src/github.com/cockroachdb/
cd src/github.com/cockroachdb/
git clone https://github.com/ cockroachdb/cockroach.git
cd cockroach
(2) 編譯構建
cd $GOPATH/src/github.com/cockroachdb/cockroach
make build
如果只編譯開源版本的功能,執行:
make buildoss