绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
图数据库系统gStore v0.9适配鲲鹏920服务器教程
2021-05-14 15:03:17
作者:梁剑明
后修改时间:2021年05月03日
文档描述:帮助您在ARM架构的操作系统上安装gStore v0.9
注意:离线环境下,需要全部下好安装包,后上传到服务器进行安装

1.环境需求

项目 需求
操作系统 Linux, 例如CentOS, Ubuntu等
架构 鲲鹏920 ARM架构
磁盘容量 根据数据集的大小
内存大小 根据数据集的大小
glibc 必须安装 version >= 2.14
gcc 必须安装 version >= 5.0
g++ 必须安装 version >= 5.0
make 必须安装
cmake 必须安装
pkg-config 必须安装
uuid 必须安装
boost 必须安装 version >= 1.56
readline 必须安装
readline-devel 必须安装
libcurl-devel 必须安装
openjdk 如果使用Java api,则需要
openjdk-devel 如果使用Java api,则需要
requests 如果使用Python http api,则需要
node 如果使用Nodejs http api则需要 version >=10.9.0
curl-devel 如果使用php http api,则需要
pthreads 如果使用php http api,则需要
realpath 如果使用gconsole,则需要
ccache 可选,用于加速编译

2.准备安装环境

2.1 gcc和g++ 安装

  • 判断是否安装:

$ gcc -v  # gcc版本
$ g++ -v  # g++版本
该系统已经安装gcc7,符合要求,无需再安装。
  • 如果没安装,以gcc 5.4.0为例,请按照以下步骤安装:

  • 下载地址:  
    gcc5.4.0:http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-5.4.0/gcc-5.4.0.tar.gz  
    gmp:ftp://ftp.gnu.org/gnu/gmp/gmp-4.3.2.tar.bz2  
    mpfr:http://www.mpfr.org/mpfr-2.4.2/mpfr-2.4.2.tar.bz2  
    mpc:http://www.multiprecision.org/downloads/mpc-0.8.1.tar.gz

[1] 解压并链接gmp(在gcc5.4.0解压目录下执行以下命令)
$ tar xjf gmp-4.3.2.tar.bz2
$ ln -sf gmp-4.3.2 gmp

[2]  解压并链接mpfr(在gcc5.4.0解压目录下执行以下命令)

$ tar xjf mpfr-2.4.2.tar.bz2
$ ls -sf mpfr-2.4.2 mpfr

[3] 解压并链接mpc(在gcc5.4.0解压目录下执行以下命令)

$ tar xzf mpc-0.8.1.tar.gz
$ ln -sf mpc-0.8.1 mpc
[4] 安装gcc 5.4.0  
在gcc解压目录下,执行以下命令:
$ mkdir gcc-build-5.4.0 
$ cd gcc-build-5.4.0 
$ ../gcc-5.4.0/configure --prefix=/opt/gcc-5.4.0 --enable-checking=release --enable-languages=c,c++ --disable-multilib
$ sudo make -j4   #允许4个编译命令同时执行,加速编译过程
$ sudo make install

[5] 安装完成以后,加入环境变量 vim /etc/profile,在文件末尾加入:

 export PATH=/opt/gcc-5.4.0/bin:$PATH

[6] 使之立即生效

 source /etc/profile

2.2 cmake安装

  • 检查是否安装,该系统已安装v3.12.1:

$  cmake --version
  • 如果没有,请按照以下步骤安装:
    版本:3.6.2
    地址:https://cmake.org/files/v3.6/cmake-3.6.2.tar.gz
    安装命令如下:

$ tar -xvf cmake-3.6.2.tar.gz && cd cmake-3.6.2/
$ ./bootstrap
$ make
$ make install  

2.3 jdk 安装

  • 检查是否安装:

$  java --version  

该系统默认安装了jdk1.8,但是没有javac命令,需重新配置,移步官网下载https://www.oracle.com/java/technologies/javase-jdk16-downloads.html

  • 接下来配置jdk    

[1]  解压jdk到相应目录:

$ tar -zvxf jdk-16.0.1_linux-aarch64_bin.tar.gz
$ mv jdk-16.0.1_linux-aarch64_bin jdk
$ mv jdk /usr/local/
$ cd /usr/local/

[2] 编辑profile文件vim /etc/profile,在文件末尾添加环境变量:

export JAVA_HOME=/usr/local/jdk
export JRE_HOME=/usr/local/jdk/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
[3] 后执行source /etc/profile 使之立即生效

2.4 readline安装

  • 检查readline是否安装:

 $ readline
如果没有安装,请按照以下步骤安装:
[1] 下载aarch64的rpm包,地址是:http://rpmfind.net/linux/rpm2html/search.php?query=readline


[2] 安装命令:


$ rpm -ivh readline-***.aarch64.rpm --nodeps --force

2.5 boost安装

  • 如果没有安装,则安装:(以版本 1.56.0 为例)
[1] 下载地址:

http://jaist.dl.sourceforge.net/project/boost/boost/1.56.0/boost_1_56_0.tar.gz

[2] 安装脚本
$ gcc -v  # 必须检查gcc为5.0以上再执行后续操作
$ tar -xzvf boost_1_56_0.tar.gz
$ cd boost_1_56_0
$ sudo ./bootstrap.sh --prefix=/opt/boost-1.56.0  --with-toolset=gcc
$ sudo ./b2
$ sudo ./b2 install --prefix=/opt/boost-1.56.0

[3] 安装成功后,vim /etc/profile,在文件末尾添加:

export LD_LIBRARY_PATH=/opt/boost-1.56.0/lib:$LD_LIBRARY_PATH
export CPATH=/opt/boost-1.56.0/include:$CPATH

[4] 使之立即生效

 $ source /etc/profile

2.6 curl安装

  • 判断curl是否安装:

$  curl --version

如果没有安装,则按照以下步骤安装:

[1] 下载地址:https://curl.haxx.se/download/curl-7.55.1.tar.gz
[2] 安装命令:

$ tar -xzvf  curl-7.55.1.tar.gz
$ cd curl-7.55.1
$ ./configure --prefix=/opt/curl-7.55.1
$ make
$ make install

[3] 配置环境变量vim /etc/profile

$ export LD_LIBRARY_PATH=/opt/curl-7.55.1/lib:$LD_LIBRARY_PATH
$ export PATH=/opt/curl-7.55.1/bin:$PATH

[4] 使之立即生效

 $ source /etc/profile

2.7 pkg-config安装

系统自带pkg-config v1.6.3,无需再安装

2.8 uuid 安装

直接使用x86系统版本的rpm进行安装,进入uuid文件夹:

 rpm -ivh *.rpm --nodeps --force

3.安装gStore

切换到gStore目录 cd gStore
执行命令:

 $ make pre
 $ make     #若编译顺利完成,后会出现 Compilation ends successfully! 结果
 $ bin/ginit  #初始化,如果顺利完成,后会出现 system.db is built successfully!

4.问题及解决方案

4.1找不到readline 头文件,如下图

因为x86的rpm包无法在该ARM架构使用,请按照教程下载aarch 版本的rpm包进行安装即可解决

4.2 找不到boost的相关头文件,如下图:

解决办法,在gStore根目录vim makefile
找到变量:CFLAGS = -c -Wall -O2 -pthread -std=c++11,改为:CFLAGS = -c -Wall -O2 -pthread -std=c++11 -I/opt/boost-1.56.0/include,然后继续make

4.3 找不到软件链接库,如下图

找到变量library,加入 -L./lib -L/opt/boost-1.56.0/lib,修改后为:library = -lreadline -L./lib -L/opt/boost-1.56.0/lib -L/usr/local/lib -L/usr/lib/ -lantlr4-runtime -lgcov -lboost_thread -lboost_filesystem -lboost_system -lboost_regex -lpthread -I/usr/local/include/boost -lcurl,注意添加的路径为安装boost的相关路径。

4.4 cannot find -lclient

 

进入cd api/http/cpp,执行make,然后又发生一下问题:

 

vim Makefile ,把变量CC修改为:CC= g++ -std=c++11 -I/opt/curl-7.55.1/include,注意查找自己安装curl的路径。然后继续make,就有client.o文件了!
然后,在gStore 根目录继续
make

后出现compilation ends successfully!代表gStore编译成功了,撒花!!

分享好友

分享这个小栈给你的朋友们,一起进步吧。

专业的官方救援小分队
创建时间:2019-11-07 09:33:49
我是一个官方吐槽小栈我们是技术栈的搬砖IT民工。 我知道你们在使用小栈的过程中会遇到很多问题: 迭代功能太鸡肋? 界面太low? 编辑器难用到爆? ··· 需求尽管提,槽点尽管说,技术救援小分队在线为您灭火,致力于提供专业的解答,提供迅疾的反馈。 悄悄的说,毛线不懂的运营喵、产品狗他们不在,我们一起吐槽!
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

栈主、嘉宾

查看更多
  • 山中老狐狸
    栈主
  • 栈栈
    嘉宾
  • gaokeke123
    嘉宾
  • Ys
    嘉宾

小栈成员

查看更多
  • gyu
  • aabbcc1832611
  • 飘絮絮絮丶
  • h313895741
戳我,来吐槽~