2025-05-21
文件系统
0

目录

一、操作系统
二、安装依赖
三、下载代码和第三方库
3.1 下载第三方库
3.1 下载代码
3.2 修改环境变量
3.3 选择一个版本进行配置
3.5 编译安装

一、操作系统

openEuler 22.03 x86_64

二、安装依赖

新系统需要安装

python
sudo dnf install -y libaio-devel flex bison ncurses-devel glibc-devel patch readline-devel jemalloc-devel libcgroup-devel libcurl-devel libedit-devel libxml2-devel lz4-devel numactl-devel unixODBC-devel zstd zstd-devel java-1.8.0-openjdk-devel openssl-devel ### openEuler安装lsb_release sudo dnf install dkms -y sudo dnf install -y git make cmake nano tar

三、下载代码和第三方库

3.1 下载第三方库

根据自己系统选择不同的第三方库

可以通过以下网站获取编译好的binarylibs。下载后请解压缩并重命名为binarylibs

各版本和分支对应编译好的三方库二进制地址如下:

分支taggcc版本下载路径
5.0.0v5.0.0gcc7.3openEuler 20.03 arm: https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.0.0/binarylibs/openGauss-third_party_binarylibs_openEuler_arm.tar.gz
openEuler 20.03 x86: https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.0.0/binarylibs/openGauss-third_party_binarylibs_openEuler_x86_64.tar.gz
Centos_x86: https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.0.0/binarylibs/openGauss-third_party_binarylibs_Centos7.6_x86_64.tar.gz
openEuler 22.03 arm: https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.0.0/binarylibs_2203/openGauss-third_party_binarylibs_openEuler_2203_arm.tar.gz
openEuler 22.03 x86: https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.0.0/binarylibs_2203/openGauss-third_party_binarylibs_openEuler_2203_x86_64.tar.gz
5.1.0
v5.1.0
gcc7.3openEuler 20.03 arm: https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.1.0/binarylibs/gcc7.3/openGauss-third_party_binarylibs_openEuler_arm.tar.gz
openEuler 20.03 x86: https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.1.0/binarylibs/gcc7.3/openGauss-third_party_binarylibs_openEuler_x86_64.tar.gz
Centos_x86: https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.1.0/binarylibs/gcc7.3/openGauss-third_party_binarylibs_Centos7.6_x86_64.tar.gz
openEuler 22.03 arm: https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.1.0/binarylibs/gcc7.3/openGauss-third_party_binarylibs_openEuler_2203_arm.tar.gz
openEuler 22.03 x86: https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.1.0/binarylibs/gcc7.3/openGauss-third_party_binarylibs_openEuler_2203_x86_64.tar.gz
gcc10.3openEuler 20.03 arm: https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.1.0/binarylibs/gcc10.3/openGauss-third_party_binarylibs_openEuler_arm.tar.gz
openEuler 20.03 x86: https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.1.0/binarylibs/gcc10.3/openGauss-third_party_binarylibs_openEuler_x86_64.tar.gz
Centos_x86: https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.1.0/binarylibs/gcc10.3/openGauss-third_party_binarylibs_Centos7.6_x86_64.tar.gz
openEuler 22.03 arm: https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.1.0/binarylibs/gcc10.3/openGauss-third_party_binarylibs_openEuler_2203_arm.tar.gz
openEuler 22.03 x86: https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.1.0/binarylibs/gcc10.3/openGauss-third_party_binarylibs_openEuler_2203_x86_64.tar.gz
6.0.0gcc10.3openEuler_arm: https://opengauss.obs.cn-south-1.myhuaweicloud.com/6.0.0/binarylibs/gcc10.3/openGauss-third_party_binarylibs_openEuler_arm.tar.gz
openEuler_x86: https://opengauss.obs.cn-south-1.myhuaweicloud.com/6.0.0/binarylibs/gcc10.3/openGauss-third_party_binarylibs_openEuler_x86_64.tar.gz
Centos_x86: https://opengauss.obs.cn-south-1.myhuaweicloud.com/6.0.0/binarylibs/gcc10.3/openGauss-third_party_binarylibs_Centos7.6_x86_64.tar.gz
openEuler 22.03 arm: https://opengauss.obs.cn-south-1.myhuaweicloud.com/6.0.0/binarylibs/gcc10.3/openGauss-third_party_binarylibs_openEuler_2203_arm.tar.gz
openEuler 22.03 x86: https://opengauss.obs.cn-south-1.myhuaweicloud.com/6.0.0/binarylibs/gcc10.3/openGauss-third_party_binarylibs_openEuler_2203_x86_64.tar.gz
mastergcc10.3openEuler_arm: https://opengauss.obs.cn-south-1.myhuaweicloud.com/latest/binarylibs/gcc10.3/openGauss-third_party_binarylibs_openEuler_arm.tar.gz
openEuler_x86: https://opengauss.obs.cn-south-1.myhuaweicloud.com/latest/binarylibs/gcc10.3/openGauss-third_party_binarylibs_openEuler_x86_64.tar.gz
Centos_x86: https://opengauss.obs.cn-south-1.myhuaweicloud.com/latest/binarylibs/gcc10.3/openGauss-third_party_binarylibs_Centos7.6_x86_64.tar.gz
openEuler 22.03 arm: https://opengauss.obs.cn-south-1.myhuaweicloud.com/latest/binarylibs/gcc10.3/openGauss-third_party_binarylibs_openEuler_2203_arm.tar.gz
openEuler 22.03 x86: https://opengauss.obs.cn-south-1.myhuaweicloud.com/latest/binarylibs/gcc10.3/openGauss-third_party_binarylibs_openEuler_2203_x86_64.tar.gz
openEuler 24.03 arm: https://opengauss.obs.cn-south-1.myhuaweicloud.com/latest/binarylibs/gcc10.3/openGauss-third_party_binarylibs_openEuler_2403_arm.tar.gz
openEuler 24.03 x86: https://opengauss.obs.cn-south-1.myhuaweicloud.com/latest/binarylibs/gcc10.3/openGauss-third_party_binarylibs_openEuler_2403_x86_64.tar.gz

注:6.0.0及以后的版本请使用gcc10.3的三方库进行编译

  1. 将第三方库传到服务器上
bash
scp ./openGauss-third_party_binarylibs_openEuler_2203_x86_64.tar.gz zhousk@172.19.0.131:/home/llm10086
  1. 解压
bash
tar -xzvf /home/llm10086/openGauss-third_party_binarylibs_openEuler_2203_x86_64.tar.gz
  1. 改名
bash
mv /home/llm10086/openGauss-third_party_binarylibs_openEuler_2203_x86_64.tar.gz /home/llm10086/binarylibs

3.1 下载代码

bash
git clone https://gitcode.com/opengauss/openGauss-server.git cd openGauss-server pwd # 输出当前路径

3.2 修改环境变量

bash
nano ~/.bashrc

写入下面内容

bash
export PATH export CODE_BASE=/home/llm10086/project/openGauss-server # openGauss-server的路径 export BINARYLIBS=/home/llm10086/binarylibs # binarylibs的路径 export GAUSSHOME=$CODE_BASE/dest/ export GCC_PATH=$BINARYLIBS/buildtools/gcc10.3 # gcc的版本,根据三方包中对应的gcc版本进行填写即可,一般有gcc7.3或gcc10.3两种 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/:$LD_LIBRARY_PATH # :$GCC_PATH/gmp/lib/ export PATH=$GAUSSHOME/bin:$GCC_PATH/gcc/bin:$PATH

Ctrl + X 保存

3.3 选择一个版本进行配置

debug版本:

# gcc10.3.1版本(一般用于openEuler + ARM架构) ./configure --gcc-version=10.3.1 CC=g++ CFLAGS='-O0' --prefix=$GAUSSHOME --3rd=$BINARYLIBS --enable-debug --enable-cassert --enable-thread-safety --with-readline --without-zlib # gcc10.3.0版本 ./configure --gcc-version=10.3.0 CC=g++ CFLAGS='-O0' --prefix=$GAUSSHOME --3rd=$BINARYLIBS --enable-debug --enable-cassert --enable-thread-safety --with-readline --without-zlib

release版本:

# gcc10.3.1版本(一般用于openEuler + ARM架构) ./configure --gcc-version=10.3.1 CC=g++ CFLAGS="-O2 -g3" --prefix=$GAUSSHOME --3rd=$BINARYLIBS --enable-thread-safety --with-readline --without-zlib # gcc10.3.0版本 ./configure --gcc-version=10.3.0 CC=g++ CFLAGS="-O2 -g3" --prefix=$GAUSSHOME --3rd=$BINARYLIBS --enable-thread-safety --with-readline --without-zlib

memcheck版本:

# gcc10.3.1版本(一般用于openEuler + ARM架构) ./configure --gcc-version=10.3.1 CC=g++ CFLAGS='-O0' --prefix=$GAUSSHOME --3rd=$BINARYLIBS --enable-debug --enable-cassert --enable-thread-safety --with-readline --without-zlib --enable-memory-check # gcc10.3.0版本 ./configure --gcc-version=10.3.0 CC=g++ CFLAGS='-O0' --prefix=$GAUSSHOME --3rd=$BINARYLIBS --enable-debug --enable-cassert --enable-thread-safety --with-readline --without-zlib --enable-memory-check

注意

  • [debug | release | memcheck] 表示有三个目标版本可用。
  • ARM平台上,需要把 -D__USE_NUMA 添加至 CFLAGS 中。
  • ARMv8.1及以上平台(如鲲鹏920),需要把 -D__ARM_LSE 添加至CFLAGS中。
  • 如果binarylibs被移至openGauss-server中,或者在openGauss-server中创建了到binarylibs的软链接,则不需要指定 --3rd 参数。但请注意,这样做的话,该文件很容易被git clean命令删除。

3.5 编译安装

bash
make -j8 make install -j8

显示如下信息,表示编译和安装成功。

openGauss installation complete.
  • 编译后的软件安装路径为: $GAUSSHOME
  • 编译后的二进制文件存放路径为: $GAUSSHOME/bin
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:司小远

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!