文章目录
MongoDB源码编译
准备安装包
下载地址:Release r5.0.5 · mongodb/mongo (github.com)
选择版本

上传: /opt/package
解压: mongo-r5.0.5.tar.gz
tar -zxvf /opt/package/mongo-r5.0.5.tar.gz -C /opt/package
查看构建文档 /opt/package/mongo-r5.0.5/docs/building.md

所以编译MongoDB前需要满足上面的条件
安装gcc
下载地址:gcc-9.5.0.tar.gz
上传:/opt/package
解压:gcc-9.5.0.tar.gz
tar -zxvf /opt/package/gcc-9.5.0.tar.gz -C /opt/package
安装依赖
# 安装依赖
yum -y install bzip2 wget
# 进入gcc-9.5.0目录
cd /opt/package/gcc-9.5.0
# 在解压根目录中执行
./contrib/download_prerequisites
编译
# 创建编译目录
cd ../ && mkdir gcc-build-9.5.0 && cd gcc-build-9.5.0
# 配置
../gcc-9.5.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
# 用32核心编译
# 需要等待很久,视机器性能而定
make -j32
# 安装
make install
# 切换gcc到新版本
update-alternatives --install /usr/bin/gcc gcc /opt/gcc-5.3.0/gcc-5.3.0
升级Python
因为centos7用yum安装的python3版本是3.6.8(估计是这个系统的yum源没更新适配),我们需要升级到3.7.x版本
下载源码地址找到3.7版本: Python Source Releases | Python.org

解压后切换到解压包目录,进行预编译 -> 编译 -> 编译安装
# 安装依赖
yum groupinstall -y "Development tools"
yum install -y openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel psmisc libffi-devel
# 预编译,设置安装目录为/usr/local/python3。安装目录可以自定义
./configure --prefix=/usr/local/python3
# 编译。因为CPU8核,所以设置-j8加快编译速度
make -j8
# 编译安装
make install -j8
安装Python模块
# 安装 scons
pip3 install scons
# 安装环境
yum install python3-devel
# 安装Python模块
python3 -m pip install -r /opt/package/mongo-r5.0.5/etc/pip/compile-requirements

最低0.47元/天 解锁文章
2418





