龙空技术网

在 ARM 架构服务器上编译 Greenplum6并制作rpm安装包

JustinLiu3 212

前言:

目前大家对“centos5rpmbuild”可能比较讲究,小伙伴们都想要分析一些“centos5rpmbuild”的相关知识。那么小编也在网摘上汇集了一些关于“centos5rpmbuild””的相关内容,希望姐妹们能喜欢,小伙伴们一起来了解一下吧!

Greenplum 是一款开源MPP数据分析平台,提供包括数据分析、机器学习和人工智能等特色功能。目前 Greenplum 的二进制发行版本只能运行在 X86 服务器。github上的Greenplum releases只有x86的发行版,没有提供ARM 发行版。Greenplum 是开源软件,我们可以通过编译 Greenplum 源代码自行构建 Greenplum 的 ARM 版本。

本文将详细讲述如何在 ARM 服务器上编译并打包开源版 Greenplum。

编译环境:CentOS Linux release 7.6.1810 (AltArch)

需要提前准备OS镜像、python依赖包、cmake、zstd-dev、Xerces、re2c、ninja、gporca等源码包配置编译环境,另外Greenplum编译需要Greenplum源码包。

setuptools

下载并上传如下软件包到服务器上:

bcrypt-3.1.7.tar.gz

cffi-1.14.1.tar.gz

cryptography-3.0.tar.gz

enum34-1.1.10.tar.gz

epydoc-3.0.1.zip

gporca-3.106.1.tar.gz

gp-xerces-3.1.2-p1.tar.gz

greenplum-6.9.1-src-full.tar.gz

ipaddress-1.0.23.tar.gz

lockfile-0.12.2.tar.gz

ninja-1.10.0.tar.gz

paramiko-2.7.1.tar.gz

pbr-5.4.5.tar.gz

psutil-5.7.2.tar.gz

pycparser-2.20.tar.gz

PyNaCl-1.4.0.tar.gz

re2c-2.0.tar.gz

setuptools-33.1.1.zip

six-1.15.0.tar.gz

zstd-1.4.5.tar.gz

安装依赖包。

#yum -y install curl-devel bzip2-devel python-devel openssl-devel readline-devel perl-ExtUtils-Embed libxml2-devel openldap-devel pam pam-devel perl-devel apr-devel libevent-devel libyaml libyaml-devel libedit-devel libffi-devel

安装python依赖包:

安装setuptools

#cd setuptools-master

#python bootstrap.py

#python setup.py install

安装psutil

#cd psutil-5.7.2

#python setup.py install

安装pbr

#cd pbr-5.4.5

#python setup.py install

安装lockfile

#cd lockfile-0.12.2

#python setup.py install

安装pycparser

#cd pycparser-2.20

#python setup.py install

安装cffi

#cd cffi-1.14.1

#python setup.py install

安装six

#cd six-1.15.0

#python setup.py install

安装bcrypt

#cd bcrypt-3.1.7

#python setup.py install

安装PyNaCl

#cd PyNaCl-1.4.0

#python setup.py install

安装ipaddress

#cd ipaddress-1.0.23

#python setup.py install

安装enum34

#cd enum34-1.1.10

#python setup.py install

安装cryptography

#cd cryptography-3.0

#python setup.py install

安装paramiko

#cd paramiko-2.7.1

#python setup.py install

安装epydoc

#cd epydoc-3.0.1

#python setup.py install

安装cmake

#cd cmake-3.9.2

#./bootstrap

#make

#make install

#/usr/local/bin/cmake --version

cmake version

安装zstd

#cd zstd-1.4.5

#make

#make install

安装Xerces

# cd gp-xerces-3.1.2-p1

#./configure

#make

#make install

安装re2c

# cd re2c-2.0

#./autogen.sh

#./configure

#make

#make install

安装ninja

#cd ninja-1.10.0

#./configure.py --bootstrap

#cp ninja /usr/bin/

安装gporca

# cd gporca-3.106.1

#cmake -GNinja -H. -Bbuild

#vi libgpos/src/common/CStackDescriptor.cpp

第167行注释掉

backtrace

#ninja install -C build

#echo /usr/local/lib >/etc/ld.so.conf

#ldconfig

编译greenplum6.9.1

准备完成后可以编译greenplum6.9.1了

# cd gpdb_src/

#./configure --with-perl --with-python --with-libxml --prefix=/usr/local/gpdb

#make

greenplum make

如果make成功了,就可以开始制作rpm安装包了。

安装rpm-build

yum install rpm-build

在/root目录下建rpmbuild目录

mkdir -p ~/rpmbuild/BUILD ~/rpmbuild/RPMS ~/rpmbuild/BUILDROOT ~/rpmbuild/SRPMS ~/rpmbuild/SOURCES ~/rpmbuild/SPECS

编辑greenplum6.9.1.spec

vi ~/rpmbuild/SPECS/greenplum6.9.1.spec

gp spec

修改greenplum源代码目录名为greenplum-6.9.1并压缩:

mv gpdb_src greenplum-6.9.1

tar czvf greenplum-6.9.1.tar.gz greenplum-6.9.1

把greenplum源码包复制到rpmbuild源代码目录

cp greenplum-6.9.1.tar.gz ~/rpmbuild/SOURCES/

制作rpm安装包:

rpmbuild -ba ~/rpmbuild/SPECS/greenplum6.9.1.spec

rpmbuild完成

查看制作好的rpm安装包:

rpmfile

完。

标签: #centos5rpmbuild