---
title: 如何在x86架构的openEuler上编译openGauss-官方技术文章-鲲鹏社区
description: 本文主要介在x86架构的openEuler上如何编译openGauss数据库。
keywords: Euler,Gauss,如何在,架构的,上编译,官方技术文章,鲲鹏社区,编译环境
url: https://www.hikunpeng.com/developer/techArticles/20230911-3?envFlag=1
section: (其他)
---

# 如何在x86架构的openEuler上编译openGauss-官方技术文章-鲲鹏社区

URL: https://www.hikunpeng.com/developer/techArticles/20230911-3?envFlag=1
描述: 本文主要介在x86架构的openEuler上如何编译openGauss数据库。
关键词: Euler,Gauss,如何在,架构的,上编译,官方技术文章,鲲鹏社区,编译环境

官方技术文章 [了解详情](https://www.hikunpeng.com/zh/developer/techArticles)

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

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

实战经验

发表于 2020/07/20

0

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://gitcode.com/opengauss/openGauss-server

git clone https://gitcode.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/目录下。

### 3. 设置默认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架构：

### 2. 开始编译第三方软件

```
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=$GAUSSHOME/lib:$GCC_PATH/gcc/lib64:$GCC_PATH/isl/lib:$GCC_PATH/mpc/lib/:$GCC_PATH/mpfr/lib/:$GCC_PATH/gmp/lib/:$LD_LIBRARY_PATH

export PATH=$GAUSSHOME/bin:$GCC_PATH/gcc/bin:$PATH
```

```
source bashrc
```

### 2. 设置Makefile

当前openGauss官方支持ARM架构的openEuler，这里支持x86架构的openEuler需要修改Makefile文件。

```
cd openGauss-server

vi ./src/gausskernel/Makefile
```

### 3. 选择Release版本进行配置

```
./configure --gcc-version=8.2.0 CC=g++ CFLAGS="-O2 -g3" --prefix=$GAUSSHOME --3rd=$BINARYLIBS --enable-thread-safety --enable-thread-safety
```

### 4. 开始编译

```
make -j
```

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

### 5. 开始安装

```
make install
```

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

软件安装路径为：$GAUSSHOME

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

openGauss开源社区官方网站：

https://opengauss.org/ [了解详情](https://opengauss.org)

openGauss组织仓库：

https://gitcode.com/opengauss [了解详情](https://gitcode.com/opengauss)

openGauss镜像仓库：

https://github.com/opengauss-mirror [了解详情](https://github.com/opengauss-mirror)

本页内容
