第一步:安装依赖
检查依赖是否安装以及版本
rpm -qa | egrep 'gcc-c++|glibc-devel|scons'
升级GCC需要一些时间,先在编译环境安装所有依赖
- 高版本需要完成C++11的编译,需要GCC5.3.0版本以上,内蒙机器上的GCC默认版本是GCC4.8.5。首先需要升级GCC的版本,编译环境机器已经将GCC升级到6.4.0,其他机器尚未升级。升级GCC时需要依赖库,我将GCC升级包及依赖一并放在压缩包中,也可以在ftp服务器对应目录下进行获取,包括gmp、isl、mpc、mpfr四个依赖。
- Python依赖:包括Cheetah、typing模块,Cheetah模块需要Markdown依赖,获取方式同上
第二步:git克隆mongo相应版本源码
从github官网clone对应源码
克隆语句
git clone ****** --branch v3.6 --single-branch [<folder>]
第三步:scons编译安装
buildscripts/scons.py all -j 32 MONGO_VERSION=x.y.z
目前所用
sudo chmox 775 buildscripts/scons.py
buildscripts/scons.py mongod -j 64 --ssl --hotbackup --audit --opt='on' MONGO_VERSION=3.4.17 LINKFLAGS='-static-libstdc++'
编译后文件大
The raw build produces binaries that contain the debug symbols and you can get rid of them by using the strip command like this:
strip mongod