在Linux 下編譯CockroachDB源碼(確保可聯網)

在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

  1. 安裝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

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章