操作系统: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