python源码只有编译成二进制数是_在 ARM 架构服务器上编译 Greenplum6并制作rpm安装包__Greenplum 是一款开源MPP数据分析平台,提供包括数据分析、机器学习和人工智能等特…

#### **刘雪柏**

#### 诺基亚东软通信有限公司 高级软件工程师

#### 从事数据库相关工作

#### 联系方式:aiden.liu@qq.com

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

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

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

![CENTER_PostgreSQL_Community]( /images/news/2020/20200812_1832_图片1–2020.8_.12_.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

![CENTER_PostgreSQL_Community]( /images/news/2020/20200812_1848_图片2–2020.8_.12_.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行注释掉

![CENTER_PostgreSQL_Community]( /images/news/2020/20200812_1848_图片3–2020.8_.12_.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

![CENTER_PostgreSQL_Community]( /images/news/2020/20200812_1849_图片4–2020.8_.12_.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

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

![CENTER_PostgreSQL_Community]( /images/news/2020/20200812_1849_图片5–2020.8_.12_.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

![CENTER_PostgreSQL_Community]( /images/news/2020/20200812_1851_图片6–2020.8_.12_.png)

#### 查看制作好的rpm安装包:

![CENTER_PostgreSQL_Community]( /images/news/2020/20200812_1852_图片7–2020.8_.12_.png)

#### 完。

文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树首页概览208561 人正在系统学习中 相关资源:丝柏人像美肤处理软件CPAC Imaging Pro 3绿化汉化破解版

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年11月15日
下一篇 2020年11月15日

相关推荐