Presto 0.244.1 aarch64编译
CPU | Phytium,FT-2000+/64 |
OS | Kylin Linux Advanced Server 10 |
netty 移植
# 略
jline-2.14.6移植
<jansi-native-version>1.6</jansi-native-version><groupId>org.fusesource.jansi</groupId><artifactId>jansi-project</artifactId><version>1.12</version>
<packaging>pom</packaging><dependency><groupId>jline</groupId><artifactId>jline</artifactId><version>2.14.6</version><exclusions><exclusion><groupId>org.fusesource.jansi</groupId><artifactId>jansi</artifactId></exclusion></exclusions>
</dependency>
# 编译Jansi-native 1.6
wget https://github.com/fusesource/jansi-native/archive/jansi-native-1.6.tar.gz
tar -zxf jansi-native-1.6.tar.gz
cd jansi-native-jansi-native-1.6
mvn install -Dplatform=linux64
# 编译Jansi-1.12
wget https://github.com/fusesource/jansi/archive/jansi-project-1.12.tar.gz
tar -zxvf jansi-project-1.12.tar.gz
cd jansi-jansi-project-1.12
mvn install -Dmaven.javadoc.skip=true
# 编译jline-2.14.6
wget https://github.com/jline/jline2/archive/jline-2.14.6.tar.gz
tar -zxvf jline-2.14.6.tar.gz
cd jline2-jline-2.14.6
mvn install -Dmaven.javadoc.skip=true -DskipTests
libhadoop.so移植
# presto-0.244.1 依赖hadoop-2.7.4的本地动态库libhadoop.so,需要使用hadoop-2.7.4的源码编译后获得
yum install snappy snappy-devel protobuf protobuf-devel -y
wget https://archive.apache.org/dist/hadoop/core/hadoop-2.7.4/hadoop-2.7.4-src.tar.gz
tar -zxf hadoop-2.7.4-src.tar.gz
cd hadoop-2.7.4-src/hadoop-common-project/hadoop-common
mvn package -Pnative -Drequire.snappy=true -DskipTests -Dmaven.javadoc.skip=true
# target/native/target/usr/local/lib/libhadoop.so.1.0.0
presto-hadoop-apache2-2.7.4-8移植
<dependency><groupId>com.facebook.presto.hadoop</groupId><artifactId>hadoop-apache2</artifactId><version>2.7.4-8</version>
</dependency>wget https://github.com/prestodb/presto-hadoop-apache2/archive/2.7.4-8.tar.gz
tar -zxf 2.7.4-8.tar.gz
cd presto-hadoop-apache2-2.7.4-8
mkdir -p src/main/resources/nativelib/Linux-aarch64# 上文获取的libhadoop.so.1.0.0复制到Linux-aarch64文件夹下,改名为libhadoop.so
cp ../hadoop-2.7.4-src/hadoop-common-project/hadoop-common/target/native/target/usr/local/lib/libhadoop.so.1.0.0 src/main/resources/nativelib/Linux-aarch64/libhadoop.so
# 上一步安装snappy后可在/lib64下找到所需的libsnappy.so.1.1.4
cp /lib64/libsnappy.so.1.1.4 src/main/resources/nativelib/Linux-aarch64/libsnappy.somvn install
presto-cassandra-driver移植
# jffi-1.2.10移植
yum install -y ant
wget https://github.com/jnr/jffi/archive/1.2.10.tar.gz
tar -zxf 1.2.10.tar.gz
cd jffi-1.2.10
ant
# presto-cassandra-driver移植
wget https://github.com/prestodb/presto-cassandra-driver/archive/3.1.4-1.tar.gz
tar -zxf 3.1.4-1.tar.gz
cd presto-cassandra-driver-3.1.4-1
mvn install -DskipTests
airlift移植
# airlift是facebook开发的命令行框架
<dep.airlift.version>0.197</dep.airlift.version>
# procname移植
git clone http://github.com/airlift/procname.git
cd procname
make
# https://codeload.github.com/airlift/airlift/tar.gz/0.197
git clone http://github.com/airlift/airlift.git
cd airlift
git checkout 0.197
cd launcher/src/main/resources/procname
mkdir Linux-aarch64
# 把上文编译得到的libprocname.so放进Linux-aarch64目录。
mvn install -DskipTests
presto编译
vi presto-main/src/main/java/com/facebook/presto/server/PrestoSystemRequirements.java
# 73-75
if (!"amd64".equals(osArch) && !"ppc64le".equals(osArch) && !"aarch64".equals(osArch)) {failRequirement("Presto requires amd64 or ppc64le or aarch64 on Linux (found %s)", osArch);
}vi presto-server-rpm/pom.xml
# 75
<nameOverride>presto-server-rpm-${project.version}.noarch.rpm</nameOverride># 78
<architecture>noarch</architecture>mvn clean package -DskipTests
presto-server/target/presto-server-0.244.1.tar.gz
presto-server-rpm/target/presto-server-rpm-0.244.1.noarch.rpm
presto-jdbc/target/presto-jdbc-0.244.1.jar
presto-cli/target/presto-cli-0.244.1-executable.jar
错误解决方案
1. .git目录不存在,在pom build plugins 中增加下面插件
<plugin>
<groupId>pl.project13.maven</groupId>
<artifactId>git-commit-id-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
Presto 0.244.1 aarch64编译相关推荐
- 银河麒麟aarch64 编译安装Qt5.9.9
银河麒麟aarch64 编译安装Qt5.9.9 目前在银河麒麟V10 aarch64系统下编译安装后可用的最高版本是Qt5.12.0 验证了很多版本,都存在xcb的问题 Qt5.12.0版本编译安装方 ...
- UEFI源码学习01-ARM AARCH64编译、ArmPlatformPriPeiCore(SEC)
文章目录 1. AARCH64编译环境搭建 2. ArmPlatformPriPeiCore 2.1 QEMU_EFI.fd包含了什么 2.2 QEMU virt aarch64相关 2.3 从第一条 ...
- Swift4.0复习特性、编译标志和检查API的可用性
1.Swift中的特性: @引出,后面紧跟特性名,圆括号带参数即可. @attribute(args) avaiable: 指明对象,函数,类型的可用性. @available(iOS 10.0, m ...
- MySQL 8.0.22 源码编译安装全过程
墨墨导读: Mysql的8.0版本出来已经有一段时间了,近期研究下源码调试.整个编译过程越来越复杂了. 近期研究下源码调试,MySQL5.7版本源码安装还是比较简单的,有很多例子参考.所以这次选择My ...
- win10 + bazel-0.20.0 + tensorflow-1.13.1 编译tensorflow GPU版本的C++库
win10 + bazel-0.20.0 + tensorflow-1.13.1 编译tensorflow GPU版本的C++库 安装所需软件/库 Step1. 安装vs2015,CUDA 10.0和 ...
- boost1.55.0在vs2013上编译序列化库失败的解决方法
2019独角兽企业重金招聘Python工程师标准>>> 之前一直没有使用boost序列化的库,所以一直没法发现boost.155.0序列化库在vs2013下面编译通不过. 今天打算用 ...
- [转组第10天] | Android6.0.0_r1源码编译和POC程序的编译
2018-05-23 Android6.0.0_r1源码编译 简要说明:android源码编译的四个流程:1.源码下载;2.构建编译环境;3.编译源码;4运行.下文也将按照该流程讲述. 主机环境 Ub ...
- AVB源码学习(一):AVB2.0工作原理及编译配置
参考资料 感谢前辈的blog,安全相关的资料可太少了,很详细很卓越 https://blog.csdn.net/jackone12347/article/details/116241676 前言 在这 ...
- TCPMP超级播放器Windows CE5.0(ARMV4)编译方法
本文主要讲解TCPMP播放器到WINDOWS CE平台的移植编译过程,硬件平台以ARMV4为主,结束部分会讲解到ARMV4I编译中需要注意的问题 这几天为公司一个项目做准备,准备编译移植来自linux ...
最新文章
- LA3644简单并查集判环
- 黑马程序员——c语言学习心得——函数传递二维数组
- Web Dynpro ABAP---ALV控件的使用
- P1966 火柴排队
- 【软件工程】用户在软件项目中承担的工作
- Sql Server判断某列字段是否为空或判断某列字段长度
- 【MyBatis框架】SqlMapConfig剖析
- linux下安装Jira6.3
- MFC_recvfrom
- ios 高德地图加载瓦片地图_OpenLayers加载高德地图离线瓦片地图
- [java] JVM监控与调优
- React 小案例 路由跳转
- HTML5新表单新功能解析
- pem文件转cer文件
- rzsz工具 源码交叉编译
- 社会工程学利用的人性_社会互程学利用的人性“弱点”
- 什么是MTTF,MTBF,MTRF?
- @SuppressWarnings注解用法详解
- ios - 农历公历互转 农历选择器
- 机器学习之线性回归模型
热门文章
- linux网桥实现代码走读
- 戒骄戒躁,笃实前行;
- 谷歌八年算法工程师分享几点算法学习小技巧
- 华为鸿蒙os的内核是Linux,谈华为鸿蒙内核和操作系统
- 用python处理excel的基本语法_Python操作Excel学习笔记(28):条件格式
- linux主机 asp主机 java主机 区别,计算机中支持asp的主机是什么操作系统
- [CTSC2016]时空旅行(斜率优化+线段树分治)
- [Unity存档系统]简单介绍Unity常见存档系统二JSON以及使用方法
- aquarius Java自定义对象池
- python二进制格式追加_Python追加/填充二进制文件添加garbag