centos7安装部署gStore以及排坑的心酸过程 |
您所在的位置:网站首页 › g·store下载地址 › centos7安装部署gStore以及排坑的心酸过程 |
Gstore 系统(也称作 gStore )是一个用于管理大型图结构数据的图数据库引擎,是一个针对 Linux 操作系统的开源软件 下述步骤为完整且成功安装 gstore的过程。 (更新一下,简化安装步骤) 1 安装gitsudo yum install git 中间过程全选 “y” 2 获取gstore源码git clone https://gitee.com/PKUMOD/gStore.git #gitee(码云) 国内下载速度更快 注意 !坑来了(按照官方文档,在gStore/script/setup/setup_centos.sh自动安装相关依赖,亲身实践后有问题) 3 安装高版本gcc关于gcc版本问题 官方推荐使用5.0以上 ,但是自动安装步骤完成后的版本同样低于5.0,所以在执行完自动安装脚本后,应该手动升级,否则编译gstore会报错。 官方文档1).下载gcc 5.0以上版本 (这里使用5.4.0) 先查看gcc版本如果是5.0以上则不用更新 gcc --version wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-5.4.0/gcc-5.4.0.tar.gz tar xvf gcc-5.4.0.tar.gz cd gcc-5.4.0 ./contrib/download_prerequisites cd .. 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 installmake -j4编译时间比较长,4G内存,4核处理器40分钟编译完。 3).修改gcc默认版本 #prefix 假设gcc 和 g++ 安装在了/prefix/bin 路径下,执行以下命令: export PATH=/prefix:$PATH # 假设 5.0 以上版本的 gcc 和 g++ 动态链接库在/prefix/lib路径下,则需要执行以下命令: export LD_LIBRARY_PATH=/prefix/lib:$LD_LIBRARY_PATH上述步骤执行完后 进入/usr/bin下 使用 find ./ -name "*gcc*", find ./ -name "*g++*", find ./ -name "*cpp*" ,find ./ -name "*c++*",命令查询出该路径下所有的link。mv重命名所有link。 使用 update-alternatives命令重新生成新的link ,"--install" 参数,“ /usr/bin/c++ ” link所在地址,“c++” link名称,“/opt/gcc-5.4.0/bin/x86_64-unknown-linux-gnu-c++”gcc编译过的路径。"40" 优先使用高版本。 update-alternatives --install /usr/bin/c++ c++ /opt/gcc-5.4.0/bin/x86_64-unknown-linux-gnu-c++ 40 (也可以直接复制 “ /opt/gcc-5.4.0/bin/* 到 /usr/bin/ 下。”) 最后使用 g++ --version, gcc --version 查看版本
(手动编译费时费力 ) ***简单更新gcc版本的办法 推荐安装7 ,7安装gstore没问题 第一步:安装centos-release-scl sudo yum install centos-release-scl 第二步:安装devtoolset,注意,如果想安装7.版本的,就改成devtoolset-7-gcc,以此类推,默认安装的devtoolset是在 /opt/rh 目录下的 sudo yum install devtoolset-7-gcc* 第三步:激活对应的devtoolset,所以你可以一次安装多个版本的devtoolset,需要的时候用下面这条命令切换到对应的版本。 scl enable devtoolset-7 bash这条激活命令只对本次会话有效,重启会话后还是会变回原来的4.8.5版本 第四步:启动每个版本的目录下面都有个 enable 文件,如果需要启用某个版本,只需要执行 source ./enable所以要想切换到某个版本,只需要执行 source /opt/rh/devtoolset-7/enable可以将对应版本的切换命令写个shell文件放在配了环境变量的目录下,需要时随时切换,或者开机自启 第五步:直接替换旧的gcc旧的gcc是运行的 /usr/bin/gcc,所以将该目录下的gcc/g++替换为刚安装的新版本gcc软连接,免得每次enable mv /usr/bin/gcc /usr/bin/gcc-4.8.5 ln -s /opt/rh/devtoolset-7/root/bin/gcc /usr/bin/gcc mv /usr/bin/g++ /usr/bin/g++-4.8.5 ln -s /opt/rh/devtoolset-7/root/bin/g++ /usr/bin/g++ gcc --version g++ --versionyum install -y make ---如果是纯净系统 需要先安装make 如果不是 ,一般都会自带。 4. 安装boost 1.57.0(亲身操作使用官方自动安装脚本未能安装成功,显示地址连接失败。) 可以参考我的另一篇文章去官方下载https://blog.csdn.net/m0_37101308/article/details/121952309?spm=1001.2014.3001.5501 也可以直接去https://download.csdn.net/download/m0_37101308/63922261 下载tar包。 安装过程如下 tar -xzvf boost_1_57_0.tar.gz cd boost_1_57_0 ./bootstrap.sh sudo ./b2 sudo ./b2 install默认安装头文件/usr/local/include/boost目录下,库文件在/usr/local/lib目录下。 在 /etc/ld.so.conf 中加入 /usr/local/lib 这一行,保存之后,再运行:/sbin/ldconfig -v 更新一下配置即可。 5. cmake 安装 wget 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 6 . 安装gstore需要的以来环境yum install -y java-1.8.0-openjdk-devel yum install -y readline readline-devel yum install -y libcurl-devel yum install pkgconfig.x86_64 yum install libuuid-devel 7. 安装gStore cd gStore make pre #进度到100% 顺利完成 make #若编译顺利完成,最后会出现 Compilation ends successfully! 结果 bin/ginit #初始化,如果顺利完成,最后会出现 system.db is built successfully! 结果 遇到的问题*****(1) in/ginit: error while loading shared libraries: libboost_thread.so.1.57.0: cannot open shared object file: No such file or directory 找不到boost编译后包,是因为没有在/etc/ld.so.conf 中添加 boost的编译lib地址 “ /usr/local/lib ” (2) 执行到 bin/ginit 会报错显示 /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found 出现这种问题是因为安装了 gcc5.4.0,但未建立软连接 cd /usr/lib64 ll stdlibc++*
删除旧的软链接 rm libstdc++.so.6 重新建立软链接 (opt是我编译 gcc的路径) ln -s /opt/gcc-5.4.0/lib64/libstdc++.so.6.0.21 libstdc++.so.6 再执行bin/ginit 成功安装显示如下。 QueryCache cleared Query time used (minus parsing): 0ms. Total time used: 1ms. Insert data result:update num : 1 system.db init successfully! Used 1052 ms call the delete function for ResultSet (3) /opt/rh/devtoolset-7/root/usr/libexec/gcc/x86_64-redhat-linux/7/ld: cannot find -lcurl collect2: error: ld returned 1 exit status make: *** [bin/gexport] Error 1 找不到curl的 软链接,查看curl是否已安装,如果没有,则手动安装 wget https://curl.haxx.se/download/curl-7.55.1.tar.gz tar -xzvf curl-7.55.1.tar.gz cd curl-7.55.1 ./configure make make install手动安装wget 连接超时 curl downloads 打开链接手动下载。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |