llvm + gpdb 环境搭建

简介: 主要是为了继续研究llvm 对greenplum的性能提升

编译安装llvm 是为了更好的去研究GPDB 对llvm 的支持
一、准备阶段
使用的版本是centos 7

基础环境配置  

gcc = 4.8.5
python = 2.7.5 (注释 必须 >= 2.7)
perl = 5.16.3
cmake = 3.5.0
二、源码下载
使用如下命令下载源码 llvm 版本为 3.7.1

#!/bin/bash
# 下载 llvm 3.7.1
wget http://releases.llvm.org/3.7.1/llvm-3.7.1.src.tar.xz
tar xvf llvm-3.7.1.src.tar.xz 
mv llvm-3.7.1.src llvm

# 下载 clang

wget http://releases.llvm.org/3.7.1/cfe-3.7.1.src.tar.xz
tar -xvf cfe-3.7.1.src.tar.xz
mv cfe-3.7.1.src clang

# 下载 compiler-rt

wget http://releases.llvm.org/3.7.1/compiler-rt-3.7.1.src.tar.xz
tar xvf compiler-rt-3.7.1.src.tar.xz
mv compiler-rt-3.7.1.src compiler-rt

# 下载 clang-tools-extra

wget http://releases.llvm.org/3.7.1/clang-tools-extra-3.7.1.src.tar.xz
tar xvf clang-tools-extra-3.7.1.src.tar.xz
mv clang-tools-extra-3.7.1.src extra

# 将文件移动到相应的 llvm 目录下

mv  compiler-rt/ ./llvm/projects
mv  extar/ ./clang/tools
mv  clang/        ./llvm/tools/

# 执行编译安装
cd llvm
mkdir build
cd build
../configure --enable-optimized
make
make install
clang --version (会显示具体的安装版本)
#具体文件树形式
##########################################################
# llvm
# |
# - projects
# | |
# | _ complier-rt
# |
# _ tools
# |
# _ clang
# |
# _ tools
# |
# - extra
##########################################################

  1. 接下来是Greenplum的安装

# 去greenplum的github上clone源码
# 执行具体的编译工作
./configue --enable-codegen --prefix=/home/gpadmin/gp --enable-debug
make
make install
#############
一般情况下 ./configure 会报一个 googletest的错误 我们可以直接将codegen的cmakelist.txt关于这块测试的代码注释掉就ok了
接下来我们就按照分布式安装就ok了

目录
相关文章
|
缓存 Ubuntu Java
Tool之Bazel:Bazel的简介、安装、使用方法之详细攻略
Tool之Bazel:Bazel的简介、安装、使用方法之详细攻略
|
2月前
|
算法 NoSQL 编译器
使用CLion进行ROS开发
1.安装基本的ROS环境   ROS环境的安装请参考安装ROS。 安装CLion 下载CLion   Linux的下载地址如下:CLion 解压CLion   将下载的CLion复制到/opt目录下(你可以解压到适合自己的文件夹,只要保证后续使用的路径一致即可),然后在这个目录下使用终端将其解压,命令如下所示(其中CLion-xxxx.xx.xx.tar.gx为下载的安装包名): sudo tar -zxvf CLion-xxxx.xx.xx.tar.gx 使用脚本安装CLion 运行解压后的文件夹中的clion.sh脚本,进行安装: 1.运行安装 2.登录激活可以选择教
|
6月前
|
中间件
Cmake快速入门
Cmake快速入门
86 0
|
12月前
|
机器学习/深度学习 人工智能 算法
milvus源码编译
milvus源码编译
135 1
|
SQL 存储 运维
Mastering PostgreSQL 13 的中文版出来了
Mastering PostgreSQL 13 的中文版出来了
206 0
|
安全 编译器 C++
C/C++ Capstone 引擎源码编译
Capstone 是一个轻量级的多平台、多架构的反汇编框架。Capstone 旨在成为安全社区中二进制分析和反汇编的终极反汇编引擎。Capstone的编译非常简单只需要一步即可轻松得到对应的Lib库文件,如下将介绍该引擎如何被编译,以及简单的测试编译。
217 0
C/C++ Capstone 引擎源码编译
|
Java 开发工具 git
Clojure环境安装与QuickStart
Clojure环境安装与QuickStart 如果你连环境都不想安装,想直接体验一下Clojure的Lisp感觉,你只要保证你联网,就能做到. 打开http://www.
1098 0
|
编译器 iOS开发 Windows
带你读《LLVM编译器实战教程》之一:构建和安装LLVM
本书的前半部分将向您介绍怎么样去配置、构建、和安装LLVM的不同软件库、工具和外部项目。接下来,本书的后半部分将向您介绍LLVM的各种设计细节,并逐步地讲解LLVM的各个编译步骤:前段、中间表示(IR)、后端、即时编译(JIT)引擎、跨平台编译和插件接口。本书包含有大量翔实的示例和代码片段,以帮助读者平稳顺利的掌握LLVM的编译器开发环境。
20151 0
|
Android开发 C语言 C++
《深入理解LLVM》第一章 LLVM简介
第一章 LLVM简介 作者:史宁宁 1.1 LLVM是什么 LLVM是什么?这是一个虽然基础,但是也曾经让很多新入门的人迷惑的一个问题。从字面上来讲,LLVM(Low Level Virtual Machine)是一个底层虚拟机,LLVM曾经有一部分功能对虚拟机有所帮助。
2526 0
|
关系型数据库 测试技术 数据库
Cloud Toolkit to RDS - Eclipse最佳操作实践指南
使用 Eclipse 进行对RDS数据库实例的管理,以及数据库 SQL 的执行。
1531 0