开源软件编译构建
开源软件编译构建
openGauss的编译,需要提前把所依赖的开源第三方软件进行编译和构建。这些开源第三方软件存放在代码openGauss-third_party代码仓中,用户下载完毕之后应用git lfs pull获取代码仓中的大文件,并且用户通常只需要构建一次。若存在开源软件版本更新,则需要重新构建。
由于此步骤耗时较长,我们使用openGauss-third_party编译构建出了一份binarylibs,用户可以参考3.1.1代码下载 直接下载获取。
表 1 openGauss开源三方件编译前置软件要求
同时需要下载gcc8.2.0的源码包gcc-8.2.0.zip或者gcc-8.2.0.tar.gz,并将其拷贝至对应位置。例如,开源三方件下载目录为/sda/openGauss-third_party,则需要将gcc的源码包拷贝至/sda/openGauss-third_party/buildtools/gcc/路径下。在安装完表1中的软件、gcc8.2.0的源码包下载并拷贝至对应的路径后,请将python默认版本指向python3.x并执行如下操作:
执行如下命令进入内核依赖的开源第三方软件目录,进行开源第三方软件的编译和构建,产生相应的二进制程序或库文件。/sda/openGauss-third_party为开源第三方软件下载目录。
[user@linux sda]$ cd /sda/openGauss-third_party/build
[user@linux build]$ sh build_all.sh
用户执行以上命令之后,可以自动生成数据库编译所需的开源第三方软件,如果想单独的生成某个开源三方软件,可以进入对应的目录,执行build.sh脚本,如:
[user@linux sda]$ cd /sda/openGauss-third_party/dependency/openssl
[user@linux openssl]$ sh build.sh
即可编译生成openssl
说明:
相关的报错日志可以查看对应的build目录下对应名字的log以及对应模块下的log,如dependency模块下的openssl的相关编译安装日志可以查看:
- /sda/openGauss-third_party/build/dependency_build.log
- /sda/openGauss-third_party/dependency/build/openssl_build.log
- /sda/openGauss-third_party/dependency/openssl/build_openssl.log
编译构建结果
执行上述脚本,最终编译构建出的结果会存放在openGauss-third_party同级的binarylibs目录。这些文件会在后面编译openGauss-server时使用到。