make-j
(3)编译mpfr-4.0.2
wget
tar -xf mpfr-4.0.2.tar.gz
cd mpfr-4.0.2
./ --=/usr/local/mpfr-4.0.2 --with-gmp=/usr/local/gmp-6.1.1
make -j
make-j
(4)编译mpc-1.1.0
wget
tar -xf mpc-1.1.0.tar.gz
cd mpc-1.1.0
./ --=/usr/local/mpc-1.1.0 --with-gmp=/usr/local/gmp-6.1.1 --with-mpfr=/usr/local/mpfr-4.0.2
make -j
make-j
(5)编译isl-0.18
wget
tar -xf isl-0.18.tar.bz2
cd isl*
./ --=/usr/local/isl-0.18 --with-gmp-=/usr/local/gmp-6.1.1
make -j
make-j
(6)安装gcc依赖包
查看glibc的版本: yum list | grep glibc
如果yum报错可执行yum list | grep glibc
安装“安装gcc”需要的依赖包:
yumgcc-c++ glibc-devel
文章插图
好像无需安装 。
(7)编译gcc 7.3.0
下载gcc 7.3.0的源码包:
wget
解压:
tar -xzvf gcc-7.3.0.tar.gz
设置环境变量和环境变量:
vi ~/.
=/usr/local/gmp-6.1.1/lib:/usr/local/mpfr-4.0.2/lib:/usr/local/mpc-1.1.0/lib:/usr/local/isl-0.18/lib:${}
=/usr/local/gmp-6.1.1/:/usr/local/mpfr-4.0.2/:/usr/local/mpc-1.1.0/:/usr/local/isl-0.18/:${}
~/.
cd gcc-7.3.0
./ ='--- -Wl,-z, -Wl,-z,relro,-z,now' --=/usr/local/gcc-7.3.0 --with-gmp=/usr/local/gmp-6.1.1 --with-mpfr=/usr/local/mpfr-4.0.2 --with-mpc=/usr/local/mpc-1.1.0 --with-isl=/usr/local/isl-0.18 --- ---=c,c++
make -j
编译过程中报内存不足了:
可以去掉-j参数编译,但这样速度会降低很多
(不带-j参数的尝试)
这回好像没报错,只是时间要长一点,耐心等待编译结束吧 。。。
(带-j参数的尝试)
经过跟编译专家的咨询,make -j不带数字,会一直加并发数 。
可以考虑指定值,一般设置为 cpu数 X 2 。目前张小白虚拟机分配了4个CPU,故可以使用make -j8再试一次:
这样也能编译成功 。
然后执行安装:
make-j
编译完毕,检查编译结果:
cd /usr/local/gcc-7.3.0/bin
./gcc --
./g++ --
或者如果LANG设成中文的话:
现在替换掉系统的gcc
这样,在任何目录下,执行gcc和g++都是新的7.3.0的版本了 。
(8)编译cmake 3.18.6
获取cmake源码包:
wget
tar -xzvf cmake-3.18.6.tar.gz
cd cmake-3.18.6
./ --=/usr/local/cmake-3.18
好像报错了,说.4.20找不到 。
搜了下,发现解决方法可能是升级++
yum++.so.6
yum+±4.8.5-44.el7.i686
按Y继续:
cd /usr/lib64
rm ++.so.6
cp /usr/local/gcc-7.3.0/lib64/++.so.6.0.24 .
ln -s ++.so.6.0.24 ++.so.6
删除解压后的目录,重新解压,再重新:
rm --3.18.6
tar -xzvf cmake-3.18.6.tar.gz
./ --=/usr/local/cmake-3.18.6
又报了一个没的错 。
安装-devel:
yum-devel
再来:
./ --=/usr/local/cmake-3.18.6
make -j8
。。。
make-j
检查版本:
将加入环境变量:
=/usr/local/cmake-3.18.6
PATH=$/bin:$PATH
~/.
cmake -
6、修改默认版本
将默认版本改为 3.6
注意:这样修改之后,yum直接执行会报错,应使用 yum xxx来执行yum脚本 。
四、源码编译
采用手工编译方式:
-
先获取自己的系统脚本:
sh src/.sh
结果是.
(在命令行)执行以下脚本:
export CODE_BASE=/root/openGauss-server# openGauss-server的路径export BINARYLIBS=/root/binarylibs# binarylibs的路径export GAUSSHOME=$CODE_BASE/dest/export GCC_PATH=$BINARYLIBS/buildtools/centos7.6_x86_64/gcc7.3/export CC=$GCC_PATH/gcc/bin/gccexport CXX=$GCC_PATH/gcc/bin/g++export LD_LIBRARY_PATH=$GAUSSHOME/lib:$GCC_PATH/gcc/lib64:$GCC_PATH/isl/lib:$GCC_PATH/mpc/lib/:$GCC_PATH/mpfr/lib/:$GCC_PATH/gmp/lib/:$LD_LIBRARY_PATHexport PATH=$GAUSSHOME/bin:$GCC_PATH/gcc/bin:$PATH
- 小白入门必学 | 一文带你快速了解计算机视觉
- 小白看完都学会了!五年Android开发者小米、阿里面经,大厂面经合集
- 黑科技—Java实现根据一张照片进行精确定位
- 一张照片,数出880个脸! 你的手机里面人脸框框怎么来的?
- 使用Python做一张满足基本样式要求的Excel表格
- Github 榜首!B 站疯传!程序员思维导图 48 张!!!
- 设计师张超越_成为高级设计师的思考,超越设计
- 零基础小白想学习并且从事次世代游戏建模都会遇到的6个问题,看看你有没有
- 超详细 墨者学院-入门级-浏览器信息伪造-小白必看
- VINS