编译文档

操作系统:ubuntu18.04

1.增加dns服务器
sudo chmod 666 /etc/resolv.conf 
vi /etc/resolv.conf 

增加如下内容:
nameserver 114.114.114.114
search openstacklocal bigdata.com
然后

source /etc/resolv.conf 
2.安装编译必须包
sudo apt install libsnappy-dev zlib1g-dev libbz2-dev liblz4-dev libzstd-dev libgflags-dev git
sudo apt install build-essential  autoconf gcc  g++ ccache libncurses5-dev byacc

安装binutils

wget https://so.csdn.net/so/search?q=wget) http://ftp.gnu.org/gnu/binutils/binutils-2.35.tar.gz
tar -zxvf binutils-2.35.tar.gz
cd binutils-2.35
./configure
make && make install
安装完
3.安装cmake
sudo apt-get install cmake 
4.下载并安装go开发包
wget https://dl.google.com/go/go1.14.linux-amd64.tar.gz 
sudo tar -C /usr/local -xvf go1.14.linux-amd64.tar.gz 
5.安装npm、yarn.js和yacc (npm,node,yarn需要软链接)
wget https://npm.taobao.org/mirrors/node/v10.17.0/node-v10.17.0-linux-x64.tar.gz 
tar -xzvf node-v10.17.0-linux-x64.tar.gz 
sudo mv node-v10.17.0-linux-x64 /usr/local/node 
ln -s /usr/local/node/bin/npm   /usr/local/bin/ 
ln -s /usr/local/node/bin/node  /usr/local/bin/ 

注:使用node -v检查node安装情况,应该提示10.17.0

6.修改系统环境变量
vi /etc/profile

在末尾加入

export NODE_HOME=/usr/local/node 
export GOPATH=/home/username/newsql/gowork/ 
export PATH=$NODE_HOME/bin:$PATH:/usr/local/go/bin 
6.安装yarn.js
Sudo npm install -g yarn 

如果连接超时,可以设置npm为淘宝源:

npm config set registry https://registry.npm.taobao.org 

先试一下yarn

yarn --version

若是command not found,则可能是上面路径添加失败,输入:

export PATH=/usr/local/node/bin/:$PATH

临时加上路径(关掉终端失效),再次尝试yarn --version
注:znbase编译时报错yarn not found,解决办法如上

7.验证程序安装是否正确

cmake --version
go version
echo $GOPATH
npm -v
yarn --version

8.下载源码
mkdir -p $GOPATH/src/github.com/znbasedb
cd $GOPATH/src/github.com/znbasedb
git clone http://git.inspur.com/newsql/ZNBase-OpenSourceEnabling/znbase.git
Username for 'http://git.inspur.com':   WX0LZX
Password for 'http://WX0LZX@git.inspur.com':   xidianLZX01
git
cd znbase

查看分支

git branch -a

切换到要编译的分支

git checkout release-2.4.0
9.编译
cd $GOPATH/src/github.com/znbasedb/znbase
make build
编译成功

报错

1.yarn not found
是node的PATH没设置,上面有解决方案

2.Makefile:1661: recipe for target 'bin/optgen' failed
类似的错误是因为文件路径没建立对,最后编译的路径为

/home/(usename)/newsql/gowork/src/github.com/znbasedb/znbase

不能缺少github.com

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容