软件安装编译即将代码编译生成软件,并将软件安装到机器上。提供一键式编译脚本build.sh进行操作,也可以自己配置环境变量手动操作。两种方式将在本章节的一键式脚本操作步骤、手动编译操作步骤中进行讲解
前提条件
一键式脚本编译
-
执行如下命令进入到软件代码编译脚本目录。
[user@linux sda]$ cd /sda/openGauss-server -
[user@linux openGauss-server]$ sh build.sh [debug | release | memcheck]
说明:
_[debug | release | memcheck]_表示可选择三种目标版本,三种目标版本如下所示:
- release: 代表生成release版本的二进制程序,该版本编译时,配置GCC高级别优化选项,去除内核调试代码,通常用于生成环境或性能测试环境。
- debug:代表生成debug版本的二进制程序,该版本编译时,增加内核代码调试功能,通常用于开发自测环境;
- memcheck:代表生成memcheck版本的二进制程序,该版本编译时,在debug版本基础上新增ASAN功能,通常用于定位内存问题。 -
显示如下内容,表示编译成功。
make compile sucessfully!- 编译后软件安装路径为:/sda/openGauss-server/dest
- 编译后的二进制放置路径为:/sda/openGauss-server/dest/bin
- 编译日志为:make_compile.log
手动编译
-
执行如下命令进入到软件代码目录。
[user@linux sda]$ cd /sda/openGauss-server -
执行脚本获取自己系统的版本
[user@linux openGauss-server]$ sh src/get_PlatForm_str.sh
说明:
- 显示的结果表示openGauss当前支持的操作系统,openGauss支持的操作系统为centos7.6_x86_64、openeuler_aarch64。
- 如果结果显示为 Failed,表示当前操作系统不支持。 -
配置环境变量,将步骤2获取到的结果替换下面的***。
export CODE_BASE=`pwd` export GCC_PATH=$CODE_BASE/binarylibs/buildtools/***/gcc8.2/ export CC=$GCC_PATH/gcc/bin/gcc export CXX=$GCC_PATH/gcc/bin/g++ export LD_LIBRARY_PATH=$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=$CODE_BASE/dest/bin:$GCC_PATH/gcc/bin:$PATH export LD_LIBRARY_PATH=$CODE_BASE/dest/lib:$LD_LIBRARY_PATH export GAUSSHOME=$CODE_BASE/dest/ -
选择版本进行configure。
debug版:
./configure --gcc-version=8.2.0 CC=g++ CFLAGS='-O0' --prefix=$GAUSSHOME --enable-debug --enable-cassert --enable-thread-safety --without-readline --without-zlibrelease版:
./configure --gcc-version=8.2.0 CC=g++ CFLAGS="-O2 -g3" --prefix=$GAUSSHOME --enable-thread-safety --without-readline --without-zlibmemcheck版:
./configure --gcc-version=8.2.0 CC=g++ CFLAGS='-O0' --prefix=$GAUSSHOME --enable-debug --enable-cassert --enable-thread-safety --without-readline --without-zlib --enable-memory-check
说明:
_[debug | release | memcheck]_表示可选择三种目标版本,三种目标版本如下所示:
- release: 代表生成release版本的二进制程序,该版本编译时,配置GCC高级别优化选项,去除内核调试代码,通常用于生成环境或性能测试环境。
- debug:代表生成debug版本的二进制程序,该版本编译时,增加内核代码调试功能,通常用于开发自测环境;
- memcheck:代表生成memcheck版本的二进制程序,该版本编译时,在debug版本基础上新增ASAN功能,通常用于定位内存问题。
在ARM平台上,release版本的CFLAGS需要添加 -D__USE_NUMA 。 -
执行如下命令,编译安装。
[user@linux openGauss-server]$ make -sj [user@linux openGauss-server]$ make install -sj -
显示如下内容,表示编译安装成功。
PostgreSQL installation complete.- 编译后软件安装路径为:$GAUSSHOME
- 编译后的二进制放置路径为:$GAUSSHOME/bin




