第一步:安裝依賴
檢查依賴是否安裝以及版本
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