首页 分享 arm服务器上编译MongoDB 3.6.13

arm服务器上编译MongoDB 3.6.13

来源:花匠小妙招 时间:2025-05-13 18:44

https://blog.csdn.net/qq_16069927/article/details/85051647

https://www.cnblogs.com/noube/p/9070672.html

环境

服务器类型:arm服务器操作系统:centos7.5mongodb版本:3.6.13gcc 版本5.4.0scons版本:3.1.1pip版本:7.1.0

编译GCC5.4.0

官方编译文档中明确要求3.6版本的编译要求gcc的版本在5.4.0以上,见下图:
在这里插入图片描述

gcc下载

gcc5.4.0的下载路径如下
http://ftp.gnu.org/gnu/gcc/gcc-5.4.0/gcc-5.4.0.tar.gz

解压

tar -xvf gcc-5.3.0.tar.gz 1 安装gcc的依赖

cd gcc-5.4.0/ ./contrib/download_prerequisites (在解压根目录中执行) 12 编译gcc

cd ../ && mkdir gcc-build-5.3.0 && cd gcc-build-5.3.0 # configure ../gcc-5.4.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib # 编译 make # 需要等待很久,视机器性能而定 make install 1234567 切换gcc版本

虽然新版本的gcc已经安装完毕,都是系统还是会调用旧版本的gcc4.9.2,这里需要切换gcc版本

# 切换gcc到新版本 update-alternatives --install /usr/bin/gcc gcc /opt/gcc-5.4.0 300 12 验证gcc版本切换成功

[root@localhost ~]# g++ --version g++ (GCC) 5.4.0 123

安装scons

下载scons

下载地址:http://prdownloads.sourceforge.net/scons/scons-3.1.1.tar.gz

安装scons所需依赖

yum install pcre-devel python-devel 1 解压安装

tar -zxvf scons-3.1.1.tar.gz cd scons-3.1.1 python setup.py install 123 验证是否安装成功

scons -h -------------------------------输出如下------------------------- usage: scons [OPTION] [TARGET] ... SCons Options: -b, -d, -e, -m, -S, -t, -w, --environment-overrides, --no-keep-going, --no-print-directory, --print-directory, --stop, --touch Ignored for compatibility. -c, --clean, --remove Remove specified targets and dependencies. -C DIR, --directory=DIR Change to DIR before doing anything. --cache-debug=FILE Print CacheDir debug info to FILE. --cache-disable, --no-cache 12345678910111213

编译mongodb

安装所需依赖

yum install openssl openssl-devel 1 下载mongodb安装包

下载地址:https://github.com/mongodb/mongo/archive/r3.6.13.zip

解压进入目录

unzip mongo-r3.6.13.zip cd mongo-r3.6.13 12 安装python 依赖包

pip install -r buildscripts/requirements.txt 1

这里我用的pip版本是7.1.0,如果这个命令执行有问题不妨我我这个版本的pip试试。

编译mongodb源码

scons all CCFLAGS=-march=armv8-a+crc 1

注意,在arm服务器上编译,这里的CCFLAGS=-march=armv8-a+crc不能省,否则会报错如下:
在这里插入图片描述
这点官方编译文档已经明确指出:
在这里插入图片描述
编译过程中还遇到一些问题,下面是遇到的问题以及解决方法:
1、问题1
在这里插入图片描述
解决: pip install --upgrade setuptools

2、问题2
报错如下:

_cffi_backend.c:15:17: 致命错误:ffi.h: 1

解决:yum install -y libffi-devel

安装

创建安装目录

mkdir /opt/mongodb-build 1 安装

[‎2019/‎8/‎26 17:27] 魏良炜: scons --prefix=/opt/mongodb-build CCFLAGS=-march=armv8-a+crc install 123

安装结束后会在/opt/mongodb-build 生成mongodb的安装文件,至此编译结束,下面就是部署配置了

mongodb的部署配置

创建数据目录,日志目录,配置目录

cd /opt/mongodb-build mkdir data logs conf touch logs/mongo.log touch conf/mongo.conf 1234 编辑配置文件

vim conf/mongo.conf dbpath=/opt/mongodb-build/data ogpath=/opt/mongodb-build/log/mongo.log logappend=true journal=true quiet=true port=27017 fork=true #后台运行 bind_ip=0.0.0.0 #允许任何IP进行连接 auth=false #是否授权连接 1234567891011 启动mongodb服务端

./bin/mongod -f /opt/mongodb-build/conf/mongo.conf 1 进入mongodb客户端

./bin/mongo 1

总结

以上就是arm上编译安装mongodb的步骤啦,如果各位看官在安装过程中有疑问,欢迎在评论去交流~

相关知识

mongodb 从3.0 升级到3.2
高并发服务器开发环境分享 (服务器开发环境 并发)
React Session Seed:构建基于React和Fluxor的用户认证种子项目
go项目部署到linux服务器
MongoDB 发展历史及各主要版本新特性概述
加快编译速度(一)
oracle中id=id(+)意思
keil5编译后生成 Program Size: Code RO
AOSP编译记录
嵌入式linux与ARM开发板的入门建议

网址: arm服务器上编译MongoDB 3.6.13 https://www.huajiangbk.com/newsview1947164.html

所属分类:花卉
上一篇: 制定成功的返程投资企业协议控制策
下一篇: 【C/C++】令人纠结的getM

推荐分享