cmake 版本 arm_在 ARM 架构服务器上编译 Greenplum6并制作rpm安装包
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 https://pypi.org/project/setuptools/33.1.1/#files
- psutil-5.7.2 https://pypi.org/project/psutil/#files
- pbr-5.4.5 https://pypi.org/project/pbr/#files
- lockfile-0.12.2 https://pypi.org/project/lockfile/#files
- pycparser-2.20 https://pypi.org/project/pycparser/#files
- cffi-1.14.1 https://pypi.org/project/cffi/#files
- bcrypt-3.1.7 https://pypi.org/project/bcrypt/#files
- six-1.15.0 https://pypi.org/project/six/#files
- PyNaCl-1.4.0 https://pypi.org/project/PyNaCl/#files
- cryptography-3.0 https://pypi.org/project/cryptography/#files
- ipaddress-1.0.23 https://pypi.org/project/ipaddress/#files
- enum34-1.1.10 https://pypi.org/project/enum34/#files
- paramiko-2.7.1 https://pypi.org/project/paramiko/#files
- epydoc-3.0.1 https://pypi.org/project/epydoc/#files
- cmake-3.9.2 https://cmake.org/files/v3.9/cmake-3.9.2.tar.gz
- zstd-dev-1.4.5 https://github.com/facebook/zstd
- Xerces-3.1.2-p1 https://github.com/greenplum-db/gp-xerces
- re2c-2.0 https://github.com/skvadrik/re2c
- ninja-1.10.0 https://github.com/ninja-build/ninja
- gporca-3.106.1 https://github.com/greenplum-db/gporca/tree/v3.65.3
- Greenplum-6.9.1 https://github.com/greenplum-db/gpdb/releases/download/6.9.1/6.9.1-src-full.tar.gz
下载并上传如下软件包到服务器上:
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
安装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行注释掉
#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
如果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
修改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
查看制作好的rpm安装包:
完。
cmake 版本 arm_在 ARM 架构服务器上编译 Greenplum6并制作rpm安装包相关推荐
- zstd安装_在ARM架构服务器上编译Greenplum6并制作rpm安装包
刘雪柏 诺基亚东软通信有限公司 高级软件工程师从事数据库相关工作aiden.liu@qq.com Greenplum 是一款开源MPP数据分析平台,提供包括数据分析.机器学习和人工智能等特色功能.目前 ...
- arm放弃服务器芯片,ARM溃败:Applied Micro拆分ARM架构服务器芯片业务
上月下旬通信芯片厂商MACOM达成最终协议以约7.7亿美元收购Applied Micro,日前则已决定只留下后者的高速载波和数据中心连网芯片业务,分拆它的ARM架构服务器芯片业务,这对ARM在服务器芯 ...
- 在英特尔架构服务器上构建基于矢量包处理(VPP)的快速网络协议栈
在英特尔®架构服务器上使用矢量包处理(VPP)构建快速的网络栈 Build a Fast Network Stack with Vector Packet Processing (VPP) on an ...
- 80核处理器_华为首款Arm架构服务器CPU鲲鹏920发布:64核主频2.6GHz ,性能创纪录!...
2019年1月7日,华为正式推出业界最高性能Arm架构服务器芯片--鲲鹏920(Kunpeng 920),以及基于鲲鹏920的三款TaiShan服务器.华为云服务.同华为还宣布携手产业伙伴推动Arm的 ...
- 拆服务器芯片,ARM溃败:Applied Micro拆分ARM架构服务器芯片业务
上月下旬通信芯片厂商MACOM达成最终协议以约7.7亿美元收购Applied Micro,日前则已决定只留下后者的高速载波和数据中心连网芯片业务,分拆它的ARM架构服务器芯片业务,这对ARM在服务器芯 ...
- 中国芯片开创了ARM架构服务器芯片市场,高通如今希望跟着喝汤
据称美国手机芯片企业高通计划再次进入服务器芯片市场,以ARM架构服务器芯片争取客户,这是它在两年多前失败之后再次进入,可能是因为它看到了中国芯片企业已成功打开局面,希望跟着喝汤. ARM阵营进入服务器 ...
- System.Data.SqlClient.SqlError: 该数据库是在运行版本 8.00.0194 的服务器上备份
1.错误描述 标题: Microsoft SQL Server Management Studio ------------------------------还原数据库"cmp" ...
- 在甲骨文云ARM VPS上使用宝塔导致php安装不完整的解决方法/ARM架构服务器使用宝塔可能遇见的问题的解决方法/Oracle Linux8/dns_get_record()/mime_conten
去我的博客查看本文:在甲骨文云ARM VPS上使用宝塔导致php安装不完整的解决方法 – 星笙月煜 (iocky.com) 主机信息:Oracle Cloud的免费VPS(4+24,Ampere,AR ...
- arm 服务器优势,零的突破 戴尔正式宣布基于ARM架构服务器
ARM架构的CPU一般出现在我们的手机.平板.机顶盒或者电视里面,但在不久之后,它们会大踏步迈入一个新的领域--服务器.计算中心.甚至超级计算机. 早在2月份,戴尔就暗示自己正在和ARM一起,测试基于 ...
最新文章
- YOLOv5在最新OpenVINO 2021R02版本的部署与代码演示详解
- linux学习笔记四:安装lsusb
- androidstudio调试android 源码 jni,在android studio下配置gradle用ndk-build和ndk-gbd编译调试JNI...
- QAQorz的训练记录
- win10打字突然变成繁体
- oracle中rownum和row_number()的区别
- 网易游戏java_2019秋招|网易游戏一面面经(Java开发)
- android 7.1 上wifi 热点 上的接口变化
- 金庸笔下的良好代码风格
- 第二阶段冲刺第八天,6月7日。
- 正则表达式之位置匹配
- 现代通信原理10.2:采用匹配滤波器的数字基带传输系统误码性能分析
- Raki的统计学习方法笔记0xB(11)章:条件随机场
- FFT蝶形算法,IFFT
- 后缀树 c++代码实现
- linux 回收站恢复文件怎么恢复文件,清空回收站后如何恢复已被删除的文件?
- Java8日期类型常见用法总结
- [Android Studio] 添加Override/Implement methods
- 【Unity2D入门教程】简单制作一个弹珠游戏之制作场景①(开场,结束,板子,球)
- 如何在word中的方框中打勾
热门文章
- 图形上下文的栈操作(保存和恢复)
- open***在Windows客户端权限那些事
- python caffe 在师兄的代码上修改成自己风格的代码
- 服务器中加速BIOS启动的方法
- puppet自动化运维之puppet的资源基础知识
- 深入剖析Android系统
- 位置相关属性offset(),position(),scrollTop()等
- 组播技术中IP地址到MAC地址的映射
- asp.net中page对象生命周期和各事件执行顺序
- 数据同步关于去除乱码插入mysql数据库