如何在x86架构的openEuler上编译openGauss

openGauss当前官方支持在ARM架构下的openEuler安装包,本文档帮助读者快速了解在x86架构的openEuler上如何编译openGauss数据库。

编译环境
环境

要求

硬件环境

CPU: 8核

CPU架构:x86

Memory: 32G

Free Disk:80G

操作系统

openEuler 20.03 LTS

准备openGauss代码仓库
yum install git -y

cd /root/

git clone https://gitee.com/opengauss/openGauss-server

git clone https://gitee.com/opengauss/openGauss-third_party
安装依赖包

  1. 安装第三方包
    配置openGauss编译时需要的第三方软件环境:

yum install libaio-devel ncurses-devel pam-devel libffi-devel libtool readline-devel

zlib-devel python3-devel autoconf flex gcc gcc-c++ patch byacc bison -y
2. 下载gcc
https://github.com/gcc-mirror/gcc/archive/releases/gcc-8.2.0.tar.gz
从如上GitHub地址下载gcc重命名为:gcc-8.2.0.tar.gz,

并拷贝到/root/openGauss-third_party/buildtools/gcc/目录下。

  1. 设置默认Python版本为3.x
    请将Python默认版本指向Python 3.x,具体操作如下:

rm -rf /usr/bin/python

ln -s /usr/bin/python3.7 /usr/bin/python
可以使用Python --version查看当前系统的默认Python版本。

编译第三方环境

  1. 适配脚本到x86架构
    当前openGauss官方支持ARM架构的openEuler,这里支持x86架构的openEuler需要修改get_PlatForm_str.sh文件。

cd /root/openGauss-third_party/build/

vi get_PlatForm_str.sh
在脚本中添加上绿字的elif条件以适配x86架构:
在这里插入图片描述

  1. 开始编译第三方软件
    sh build_all.sh
    用户执行以上命令之后,可以自动生成数据库编译所需的开源第三方软件,如果想单独的生成某个开源三方软件,可以进入对应的目录,执行build.sh脚本,如/root/openGauss-third_party/dependency/。最终编译构建出的结果会存放在openGauss-third_party同级的binarylibs目录。这些文件会在后面编译openGauss-server时用到。

编译安装openGauss

  1. 设置环境变量
    cd /root/

vi bashrc
export CODE_BASE=/root/openGauss-server # Path of the openGauss-server file

export BINARYLIBS=$CODE_BASE/…/binarylibs # Path of the binarylibs file

export GAUSSHOME=/opt/opengauss/

export GCC_PATH=$BINARYLIBS/buildtools/openeuler_x86_64/gcc8.2

export CC=$GCC_PATH/gcc/bin/gcc

export CXX=$GCC_PATH/gcc/bin/g++

export LD_LIBRARY_PATH= G A U S S H O M E / l i b : GAUSSHOME/lib: GAUSSHOME/lib:GCC_PATH/gcc/lib64: G C C P A T H / i s l / l i b : GCC_PATH/isl/lib: GCCPATH/isl/lib:GCC_PATH/mpc/lib/: G C C P A T H / m p f r / l i b / : GCC_PATH/mpfr/lib/: GCCPATH/mpfr/lib/:GCC_PATH/gmp/lib/:$LD_LIBRARY_PATH

export PATH= G A U S S H O M E / b i n : GAUSSHOME/bin: GAUSSHOME/bin:GCC_PATH/gcc/bin:$PATH
source bashrc
2. 设置Makefile
当前openGauss官方支持ARM架构的openEuler,这里支持x86架构的openEuler需要修改Makefile文件。

cd openGauss-server

vi ./src/gausskernel/Makefile
在这里插入图片描述

  1. 选择Release版本进行配置
    ./configure --gcc-version=8.2.0 CC=g++ CFLAGS=“-O2 -g3” --prefix= G A U S S H O M E − − 3 r d = GAUSSHOME --3rd= GAUSSHOME3rd=BINARYLIBS --enable-thread-safety --enable-thread-safety
  2. 开始编译
    make -j
    在这里插入图片描述

看到上述截图中的结果表明编译成功。

  1. 开始安装
    make install
    在这里插入图片描述

看到上述截图中的结果表明安装成功。

软件安装路径为:$GAUSSHOME

二进制放置路径为:$GAUSSHOME/bin

openGauss开源社区官方网站:

https://opengauss.org/

openGauss组织仓库:

https://gitee.com/opengauss

openGauss镜像仓库:

https://github.com/opengauss-mirror
原文链接:https://www.hikunpeng.com/zh/developer/techArticles/20230911-3

  • 12
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值