OpenGauss数据库源码编译安装过程学习笔记

本文是关于OpenGauss数据库源码的编译安装学习笔记,包括编译前的准备工作,如获取openGauss-server源码和第三方开源软件,详细编译步骤,如设置环境变量、一键式脚本编译,以及编译过程中遇到的问题及其解决方案,如libtinfo.so.5错误。此外,还介绍了如何初始化数据库实例和进行源码GDB调试。
摘要由CSDN通过智能技术生成

编译前准备工作

编译openGauss需要openGauss-serverbinarylibs两个组件。

openGauss-serveropenGauss的主要代码。可以从开源社区获取。
openGauss-server源码下载

binarylibsopenGauss依赖的第三方开源软件,你可以直接编译openGauss-third_party代码获取,也可以从开源社区下载已经编译好的并上传的一个副本。
注:软件依赖包版本需尽量与openGauss-server版本一致
Centos_x86平台编译好的第三方开源软件下载

对于数据库、三方库、GCC的编译以及常见问题,参照博客openGauss数据库编译指导,点击前往

编译安装步骤:

1、直接下载编译好的openGauss-third_party,解压后并将其重命名为binarylibs

[opengauss@VM-24-14-centos binarylibs]$ mv openGauss-third_party_binarylibs_Centos7.6_x86_64 binarylibs
[opengauss@VM-24-14-centos ~]$ cd binarylibs/
[opengauss@VM-24-14-centos binarylibs]$ ls
buildtools  common  component  dependency  platform
## 执行以下脚本获取系统版本号
[opengauss@VM-24-14-centos src]$ ./get_PlatForm_str.sh 
centos7.6_x86_64
[opengauss@VM-24-14-centos src]$ 

2、配置环境变量

export CODE_BASE=/home/opengauss/openGauss-server    # Path of the openGauss-server file
export BINARYLIBS=/home/opengauss/binarylibs   # Path of the binarylibs file
export GAUSSHOME=$CODE_BASE/dest/
export GCC_PATH=$BINARYLIBS/buildtools/gcc7.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/:$GCC_PATH/gmp/lib/:$LD_LIBRARY_PATH
export PATH=$GAUSSHOME/bin:$GCC_PATH/gcc/bin:$PATH

执行source ~/.bashrc生效

3、手动编译

[opengauss@VM-24-14-centos openGauss-server]$./configure --gcc-version=7.3.0 CC=g++ CFLAGS='-O0' --prefix=$GAUSSHOME --3rd=$BINARYLIBS --enable-debug --enable-cassert --enable-thread-safety --with-readline --without-zlib
make
make install

一键式脚本编译

注意:编译前虚拟机内存适当调大(本机环境调整为8GB
在这里插入图片描述
编译前环境变量如下:
在这里插入图片描述

[opengauss@local101 openGauss-server]$ sh build.sh -m debug -3rd /home/opengauss/binarylibs
ROOT_DIR : /home/opengauss/openGauss-server
[makegaussdb] 24-01-25 11:15:10: script dir : /home/opengauss/openGauss-server/build/script
[makegaussdb] 24-01-25 11:15:10: Work root dir : /home/opengauss/openGauss-server
WARNING: do not separate symbol in debug mode!
-I../../../../src/include -I../../../../src/lib/gstrace -I/home/opengauss/binarylibs/kernel/dependency/libxml2/comm/include/libxml2  -D_GNU_SOURCE -I/home/opengauss/binarylibs/kernel/dependency/libxml2/comm/include/libxml2  -I/home/opengauss/binarylibs/kernel/dependency/unixodbc/include -I/home/opengauss/binarylibs/kernel/dependency/libobs/comm/include -I/home/opengauss/binarylibs/kernel/dependency/libcgroup/comm/include -I/home/opengauss/binarylibs/kernel/dependency/openssl/comm/include -I/home/opengauss/binarylibs/kernel/dependency/boost/comm/include -I/home/opengauss/binarylibs/kernel/dependency/llvm/comm/include -I/home/opengauss/binarylibs/kernel/dependency/kerberos/comm/include -I/home/opengauss/binarylibs/kernel/dependency/cjson/comm/include -I/home/opengauss/binarylibs/kernel/dependency/numactl/comm/include -I/home/opengauss/binarylibs/kernel/dependency/zlib1.2.11/comm/include -I/home/opengauss/binarylibs/kernel/dependency/lz4/comm/include -I/home/opengauss/binarylibs/kernel/dependency/zstd/include -I/home/opengauss/binarylibs/kernel/dependency/libcurl/comm/include -I/home/opengauss/binarylibs/kernel/component/dcf/include -I/home/opengauss/binarylibs/kernel/dependency/masstree/comm/include -DUSE_SPQ
Makefile.local:181: warning: overriding recipe for target `objfiles.txt'
../../../../..//src/gausskernel/common.mk:34: warning: ignoring old recipe for target `objfiles.txt'
cat: snowball/objfiles.txt: 没有那个文件或目录
cat: ../../src/common/interfaces/libpq/objfiles.txt: 没有那个文件或目录
cat: ../../contrib/test_decoding/objfiles.txt: 没有那个文件或目录
cat: ../../contrib/mppdb_decoding/objfiles.txt: 没有那个文件或目录
cat: ../../contrib/postgres_fdw/objfiles.txt: 没有那个文件或目录
/bin/ld: warning: libssl.so.10, needed by /home/opengauss/binarylibs/kernel/dependency/libobs/comm/lib/libeSDKOBS.so, may conflict with libssl.so.1.1
/bin/ld: warning: libssl.so.10, needed by /home/opengauss/binarylibs/kernel/dependency/libobs/comm/lib/libeSDKOBS.so, may conflict with libssl.so.1.1
/bin/ld: warning: libssl.so.10, needed by /home/opengauss/binarylibs/kernel/dependency/libobs/comm/lib/libeSDKOBS.so, may conflict with libssl.so.1.1
/bin/ld: warning: libcrypto.so.10, needed by /home/opengauss/binarylibs/kernel/dependency/libobs/comm/lib/libeSDKOBS.so, may conflict with libcrypto.so.1.1
/bin/ld: warning: libcrypto.so.10, needed by /home/opengauss/binarylibs/kernel/dependency/libobs/comm/lib/libeSDKOBS.so, may conflict with libcrypto.so.1.1`在这里插入代码片`
/bin/ld: warning: libcrypto.so.10, needed by /home/opengauss/binarylibs/kernel/dependency/libobs/comm/lib/libeSDKOBS.so, may conflict with libcrypto.so.1.1
../../../../../..//src/Makefile.shlib:357: warning: overriding recipe for target `libgauss_cl_jni.so'
Makefile:39: warning: ignoring old recipe for target `libgauss_cl_jni.so'
../../../../../..//src/Makefile.shlib:357: warning: overriding recipe for target `libgauss_cl_jni.so'
Makefile:39: warning: ignoring old recipe for target `libgauss_cl_jni.so'
Makefile:71: warning: overriding recipe for target `../../../src/lib/elog/elog.a'
Makefile:65: warning: ignoring old recipe for target `../../../src/lib/elog/elog.a'
openGauss installation complete.
now, all build has finished!
[opengauss@local101 openGauss-server]$

整个编译过程中的日志文件在/home/opengauss/openGauss-server/build/script/makemppdb_pkg.log 文件中查看
编译完成之后,安装目录为/home/opengauss/openGauss-server/mppdb_temp_install
配置环境变量

[opengauss@local101 mppdb_temp_install]$ vim ~/.bashrc
## 添加如下内容
 export GAUSSH
  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值