opengauss源码编译安装
一、配置部署华为ECS服务器
因为不想用虚拟机,因此本实验在华为ECS服务器上进行。
操作系统为centOS7.6,opengauss版本为2.0.0
购买配置服务器
这里使用的是CentOS7.6版本,使用
参考链接
https://www.bilibili.com/video/BV14M4y1G7K8?p=1&share_medium=android&share_plat=android&share_session_id=dda590ac-ef77-4c24-b2ef-4b4bb5c11b87&share_source=QQ&share_tag=s_i×tamp=1650935554&unique_k=S9c3REz
若想使用图形用户界面的话,可以进行配置,参考链接:
https://support.huaweicloud.com/ecs_faq/ecs_faq_0709.html
安装依赖
yum install unzip gcc-c++ readline readline-devel
yum install libaio-devel flex bison ncurses-devel glibc-devel patch lsb_release
即确保软件依赖达到以下要求:
libaio-devel:0.3.109-13
flex:2.5.37
bison:2.7-4
ncurses-devel:5.9-14.20130511
glibc-devel:2.17-324
patch:2.7.1
redhat-lsb-core:4.1-27
readline-devel:6.2-11
perl:5.16.3
二、下载源码
需要下载opengauss-sever以及官方发布的编译好的三方包binarylibs
参考博客:https://www.cnblogs.com/qiumingcheng/p/15156219.html
下载地址:
opengauss-sever:https://gitee.com/opengauss/openGauss-server/repository/archive/v2.0.0?format=tar.gz
编译好的三方包:https://opengauss.obs.cn-south-1.myhuaweicloud.com/2.0.0/openGauss-third_party_binarylibs.tar.gz
创建一个data文件夹,进入该文件夹,进行源码下载,并解压
cd /data
wget https://gitee.com/opengauss/openGauss-server/repository/archive/v2.0.0?format=tar.gz
wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/2.0.0/openGauss-third_party_binarylibs.tar.gz
tar -zxvf opengauss-openGauss-server-v2.0.0.tar.gz
tar -zxvf openGauss-third_party_binarylibs.tar.gz
// 重命名开源第三方软件解压目录为binarylibs
mv openGauss-third_party_binarylibs binarylibs
三、手动编译
配置环境变量
官方文档提示的步骤如下:
在这里,我们具体执行下述命令:
sh /data/openGauss-server/src/get_PlatForm_str.sh
cat ~/.bash_profile
vim ~/.bash_profile
将以下内容补充到 .bash_profile 末尾处
export CODE_BASE=/data/openGauss-server
export BINARYLIBS=/data/binarylibs # 开源第三方软件路径
export GAUSSHOME=$CODE_BASE/dest/ # 编译后的二进制文件存放路径
export GCC_PATH=$BINARYLIBS/buildtools/centos7.6_x86_64/gcc7.3/ # centos7.6_x86_64是查询出来的系统版本
export CC=$GCC_PATH/gcc/bin/gcc
export CXX=$GCC_PATH/gcc/bin/g++
export LD_LIBRARY_PATH=/usr/lib64/perl5:$GAUSSHOME/lib:$GCC_PATH/gcc/lib64:$GCC_PATH/isl/lib:$GCC_PATH/mpc/lib/:$GCC_PATH/mpfr/lib/:$GCC_PATH/gmp/lib/:$BINARYLIBS/dependency/centos7.6_x86_64/libobs/comm/lib/:$BINARYLIBS/platform/centos7.6_x86_64/Huawei_Secure_C/Dynamic_Lib/:$LD_LIBRARY_PATH
export LIBRARY_PATH=$BINARYLIBS/platform/centos7.6_x86_64/Huawei_Secure_C/Dynamic_Lib/:$BINARYLIBS/dependency/centos7.6_x86_64/libobs/comm/lib/:$LIBRARY_PATH
export PGDATABASE=postgres
PATH=$GAUSSHOME/bin:$GCC_PATH/gcc/bin:$PATH:$HOME/bin
输入指令使生效:
source ~/.bash_profile
开始编译
进入 /data/openGauss-server 目录
执行configure,编译debug版本
// 指定编译debug版本(release版本去掉--enable-debug, memcheck版本增加--enable-memory-check)
./configure --gcc-version=7.3.0 CC=g++ CFLAGS='-O0' --prefix=$GAUSSHOME --3rd=$BINARYLIBS --enable-debug --enable-cassert --enable-thread-safety --without-readline --without-zlib
编译安装:
make
若显示:All of openGauss successfully made. Ready to install.
则该步成功
make install
若显示:openGauss installation complete.
则编译安装成功!