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

刘雪柏

诺基亚东软通信有限公司 高级软件工程师 从事数据库相关工作  aiden.liu@qq.com

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源码包。

329e6317319b4a21a4b1b647dfdb40ff.png

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

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

47c64c6d4a79e4fc009de80bff007da0.png

安装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行注释掉

054738caf809bf87be2dc396aaa940a7.png

# 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

9c61b93df41e0af0bac33592525a9696.png

如果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

ff15ab9fba5236ac434ba6b297de69b3.png

修改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

6b3b41bbe761f8601120fd4fa232c78f.png

查看制作好的rpm安装包:

c98ac6a7b4b4202492cf514318f4e12c.png

完。

I Love PG

关于我们

中国开源软件推进联盟PostgreSQL分会(简称:中国PG分会)于2017年成立,由国内多家PostgreSQL生态企业所共同发起,业务上接受工信部中国电子信息产业发展研究院指导。中国PG分会是一个非盈利行业协会组织。我们致力于在中国构建PostgreSQL产业生态,推动PostgreSQL产学研用发展。

欢迎投稿

做你的舞台,show出自己的才华 。

投稿邮箱:partner@postgresqlchina.com

                    ——愿能安放你不羁的灵魂

技术文章精彩回顾PostgreSQL学习的九层宝塔PostgreSQL职业发展与学习攻略2019,年度数据库舍 PostgreSQL 其谁?Postgres是最好的开源软件PostgreSQL是世界上最好的数据库从Oracle迁移到PostgreSQL的十大理由从“非主流”到“潮流”,开源早已值得拥有PG活动精彩回顾创建PG全球生态!PostgresConf.CN2019大会盛大召开首站起航!2019“让PG‘象’前行”上海站成功举行走进蓉城丨2019“让PG‘象’前行”成都站成功举行中国PG象牙塔计划发布,首批合作高校授牌仪式在天津举行群英论道聚北京,共话PostgreSQL相聚巴厘岛| PG Conf.Asia 2019  DAY0、DAY1简报相知巴厘岛| PG Conf.Asia 2019 DAY2简报独家|硅谷Postgres大会简报直播回顾 | Bruce Momjian:原生分布式将在PG 14版本发布PG培训认证精彩回顾中国首批PGCA认证考试圆满结束,203位考生成功获得认证!中国第二批PGCA认证考试圆满结束,115位考生喜获认证!重要通知:三方共建,中国PostgreSQL认证权威升级!近500人参与!首次PGCE中级、第三批次PGCA初级认证考试落幕!2020年首批 | 中国PostgreSQL初级认证考试圆满结束一分耕耘一分收获,第五批次PostgreSQL认证考试成绩公布
PG 专辑 预览阅读开源软件联盟PostgreSQL分会专辑之活动篇

b631b963750b26e24e919d1339e21c94.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值