Centos 7 ArangoDB 3.9.1 源码编译

2023-09-24 30 0

导航

  • 1.环境准备
  • 2.编译
  • 3.启动后页面截图
  • 4.FAQ
  • 5.参考

1.环境准备

在编译前需要做好的工作:
Cmake版本: 3.10.0
gcc版本: 10.2.0
Python版本: 3.6.10
ArangoDB版本: 3.9.1

一般不可低于以上版本,但建议尽量保证一致,如果使用非以上版本编译出现错误时,请更正为以上版本,移除 build 目录后再进行编译(如果不移除,配置可能会使用旧版本),因为build目录生成的文件大小较大,将近几个G,所以建议将版本安装以上版本后再进行编译

官网未提供 linux 编译,但写者尝试使用该编译文档在 centos 7 下进行编译,通过社区咨询,可以并编译成功

编译参考:https://www.arangodb.com/docs/stable/installation-compiling-debian.html
源码下载:https://github.com/arangodb/arangodb/archive/refs/tags/v3.9.1.tar.gz

编译命令:
安装cmake:安装 | 3.10.0下载

安装GCC:安装
安装Python:安装

安装好后配置环境变量:

vim /etc/profile
# arangodb3.9.1 env
export OPENSSL_ROOT_DIR=/usr/local/openssl
export PYTHON_INCLUDE_DIRS=/usr/local/Python-3.6.10/lib/python3.6/site-packages/

使用 make (更快编译可使用 make -j4 ,数字尽量为cpu核数多一个)
内存需剩余 8 G以上,否则编译很大可能会失败

2.编译

进行 arangodb 源码编译,写者使用的版本为 3.9.1 (3.9.0 同样适用)

cd ${ARANGODB_HOME}
mkdir build
cd build

对于发布版本,使用以下选项配置 CMake:

cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DUSE_MAINTAINER_MODE=off -DUSE_OPTIMIZE_FOR_ARCHITECTURE=On -DUSE_GOOGLE_TESTS=off

2.1编译
使用命令:make -j2 (该数字可根据 cpu 核数进行调节)
最后编译完成 截图
编译完成
2.2 编译后启动
源码启动,在源码目录下

build/bin/arangod -c etc/relative/arangod.conf --server.endpoint tcp://127.0.0.1:8529 /tmp/database-dir

1.如果提示 Illegal instruction,查看 cpu 指令集(是否存在 avx)

grep flags /proc/cpuinfo (| grep avx)

如果没有avx, 则不支持该系统指令集,可进行 make install 后,迁移二进制文件进行启动

2.如果提示下边这个问题,使用ldd查看确实缺少类库libatomic.so.1 ,请使用 yum 安装一下:
yum -y install libatomic
在这里插入图片描述

安装完成之后再查看,类库获取成功:
在这里插入图片描述

2.3 编译安装到指定目录
make install (DESTDIR=绝对路径)

使用模式安装,文件将出现在一下目录,可用一下命令进行检查:

ll /etc/logrotate.d/arangodb3ll /usr/sbin/arango*
ll /usr/var/
ll /usr/bin/arango*
ll /usr/usr/lib/systemd/system/arangodb3.service
ll /usr/etc/arangodb3/ll /usr/share/arangodb3/
ll /usr/share/man/man1/arango*
ll /usr/share/man/man8/*arango*
ll /usr/share/doc/arangodb3
ll /usr/share/man/man8/foxx-manager.8

3.启动后页面截图

登录页
在这里插入图片描述

输入账号root,密码为空,登录进入系统
在这里插入图片描述
在这里插入图片描述

4.FAQ

1.问题一
解决:解决方案
具体为将gcc的 libstdc类库替换到 /lib64 目录下,进行升级

build/bin/arangod: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by build/bin/arangod)linux-vdso.so.1 =>  (0x00007ffcc8ef3000)libatomic.so.1 => not foundlibresolv.so.2 => /lib64/libresolv.so.2 (0x00007f6d98cb7000)librt.so.1 => /lib64/librt.so.1 (0x00007f6d98aaf000)libdl.so.2 => /lib64/libdl.so.2 (0x00007f6d988ab000)libssl.so.1.1 => not foundlibcrypto.so.1.1 => not foundlibpthread.so.0 => /lib64/libpthread.so.0 (0x00007f6d9868f000)libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f6d98387000)libm.so.6 => /lib64/libm.so.6 (0x00007f6d98085000)libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f6d97e6f000)libc.so.6 => /lib64/libc.so.6 (0x00007f6d97aa1000)/lib64/ld-linux-x86-64.so.2 (0x00007f6d98ed1000)

5.参考

官网:ArangoDB官网

本文链接:https://blog.csdn.net/weixin_40375601/article/details/124474749


你所抗拒的使你更强!

代码编程
赞赏

相关文章

动态改变shape color
一张图看懂阿里云网络产品[一]网络产品概览
bug人生–CF的那段时光
地图常见操作总结
西门子医疗创新产品与解决方案亮相第31届国际医疗仪器设备展览会
WebView详解:Android和Js交互