张小白使用CentOS 7.9源码编译openGauss 2.0

一、楔子
在编写张小白带你使用 7.6安装 2.0.1企业版过程中,张小白曾经用 7.9版本做过试验,但是在 执行的过程中,报了“该操作系统不支持”错误:
当时,张小白在网上重新找了 7.6的镜像下载,重做了操作系统,甚至曾经还因为下错了版本(下成了7.7)又又白折腾了一回 。
不过,后来得知 7.9其实也是可以装 的,只需要欺骗它一下:
然后重新执行脚本:
就可以通过了!后续的操作跟 7.6的操作完全相同,此处不再赘述,在张小白的文档中都有详细描述 。
张小白就用现在这个 7.9,感受一下 源码编译的过程 。
【张小白使用CentOS 7.9源码编译openGauss 2.0】本文是张小白阅读了官网搭建编译环境部分内容做的体验,如果中间有错漏之处,问题仅在于张小白的阅读能力不足 :)
二、注意
如您用的是一个全新的 7.9操作系统,那么张小白带你使用 7.6安装 2.0.1企业版提到的以下章节最好都做一下:
二、更新yum源为国内源
四、安装.6
五、安装系统软件依赖
六、系统环境设置
1.关闭防火墙
2.关闭
3.设置时区和时间
4.设置网卡MTU
5.更新
6.设置UTF-8字符集
7.允许root用户远程登陆
8.创建数据库组
9.修改系统参数.conf
10.修改文件句柄
三、编译环境准备
操作系统: 7.9虚拟机
虚拟机内存:8G(在编译过程中,曾因为参数导致的内存不足原因,将虚拟机内存扩大到32G,但其实只要参数合适,8G内存足以完成编译,详见下面的操作过程)
虚拟机CPU:4核
1、安装操作系统依赖
这部分由于在前文已有描述,仅需yum 安装相关软件即可:
如果严格按照文档要求,那么-devel的要求是不符合的 。但是貌似在后续的编译过程中,也没因此报错 。
2、环境清理
由于本虚拟机是从已经安装好的单机版 7.9的克隆来的 。为避免以前的安装的干扰,对现有环境做个清理:(聪明的读者可以全然不顾这个过程,或者如果您曾经安装过,可以用以下神操作让安装的事情貌似从未发生过 。。。)
rm -rf /opt//
rm -rf /var/log/omm
omm
rm -rf /home/omm
rm -rf /root/
3、关闭swap分区
如果没有关闭swap分区,可能会导致在下面的编译过程中,执行make -j的时候报内存不足的错 。
4、获取-代码包和依赖包
先获取的源码仓的地址:
打开-:~is an open.
点击克隆后,在弹出的框中选择复制:
具体地址为:-:~is an open.
打开-:third party
如法炮制,获得地址:
-:third party
使用终端执行以下语句:
git clone-
git -:third party -
这里如果要获取2.0.0的代码,可加上-b 2.0.0的参数:
关于第三方依赖软件的编译构建方式,可以选择直接用团队构建好的,也可以自行编译 。张小白决定先使用现成的,先把重点放在编译的源码上面:(等有空了再来重新编译第三方依赖的源码)
wget
tar -xzvf -bs.tar.gz
mv -bs
5、源码安装gcc 7.3.0和cmake 3.18.6
注:由于官方提供的第三方依赖包已经包含了gcc,可以忽略gcc相关依赖如gmp、mpfr、mpc、isl和gcc的源码安装部分 。但有心的人还是建议熟悉下源码安装gcc的全过程 。
(1)安装前检查
查看下gcc和g++的版本:4.8.5
如果使用yum安装cmake,版本是2.8,也不满足要求 。
所以这些都需要源码编译安装 。
(2)编译gmp-6.1.1
wget
tar -xf gmp-6.1.1.tar.xz
cd gmp-6.1.1
./ --=/usr/local/gmp-6.1.1
make -j