编译安装 LLVM
本文记录 LLVM 的安装过程,比较繁琐,使用 LLVM 3.4
操作系统:CentOS 6.6 64 位
1. 下载需要的软件
相关软件下载地址:http://llvm.org/releases/download.html#3.4
我们需要下载代码如下:
- Clang source code
- LLVM source code
- Compiler RT source code
下载之后,分别解压各个压缩包,然后把 clang 放到 llvm 源码的 tools 目录中,并重命名为 clang,把 compiler-rt 放到 llvm 源码中的 projects 目录中,重命名为 compiler-rt:
tar -zxf clang-3.4.src.tar.gz
tar -zxf compiler-rt-3.4.src.tar.gz
tar -zxf llvm-3.4.src.tar.gz
mv clang-3.4 llvm-3.4/tools/clang
mv compiler-rt-3.4 llvm-3.4/projects/compiler-rt
2. 解决软件依赖
LLVM 3.4 所依赖的各个软件及其版本号如下:
| Package | Version | Notes | Download Links |
|---|---|---|---|
| GNU Make | 3.79, 3.79.1 | Makefile/build processor | http://savannah.gnu.org/projects/make |
| GCC | 3.4.2 | C/C++ compiler1 | http://gcc.gnu.org/ |
| TeXinfo | 4.5 | For building the CFE | http://www.gnu.org/software/texinfo/ |
| python | >=2.5 | Automated test suite3 | http://www.python.org/ |
| GNU M4 | 1.4 | Macro processor for configuration4 | http://savannah.gnu.org/projects/m4 |
| GNU Autoconf | 2.60 | Configuration script builder4 | http://www.gnu.org/software/autoconf/ |
| GNU Automake | 1.9.6 | aclocal macro generator4 | http://www.gnu.org/software/automake/ |
| libtool | 1.5.22 | Shared library manager4 | http://savannah.gnu.org/projects/libtool |
| zlib | >=1.2.3.4 | Compression library5 | http://zlib.net/ |
一般来讲,gcc、make 和 Python 不用再安装了,其他的软件直接从下载链接下载下来,使用 make 三部曲安装即可:
./configure
make -j24
sudo make install
3. 编译安装 LLVM
另建两个文件夹:llvm-build 和 llvm-install,分别用来进行 LLVM 编译和安装目录,我们编译带 assert 和 debug 信息的 llvm,所有的命令如下:
mkdir llvm-build
mkdir llvm-install
cd llvm-build/
../llvm-3.4/configure --prefix=/home/jianzhang/llvm/llvm-install --enable-assertions --enable-debug-runtime --enable-debug-symbols --enable-jit --enable-doxygen --enable-shared
make -j40
make install
编译安装 LLVM的更多相关文章
- Linux c++ vim环境搭建系列(2)——Ubuntu18.04.4编译安装llvm clang
2. 源码编译安装llvm clang 参考网址: https://llvhttps
- Centos 7 编译安装llvm 8.0.0
参考连接:https://www.cnblogs.com/BinBinStory/p/7499527.html https://blog.csdn.net/llwy1428/article/detai ...
- 拾遗:YouCompleteMe 前传——编译安装 llvm + clang
http://llvm.org/docs/GettingStarted.html 一.下载安装 cmake >=3.4.3 yum install gcc gcc-c++curl -O http ...
- llvm+clang编译安装
最近一段时间在llvm+clang上做一些东西,所以顺便将自己如何编译安装llvm+clang写了篇文章发在这里,希望能帮助刚接触llvm+clang的童鞋少走一些弯路(我刚接触的时候为了编译安装这个 ...
- CentOS 7 编译安装clang+llvm
天在CentOS上将最新版本的LLVM套件(LLVM,Clang和Libc++)编译安装好了,中间遇到了不少问题.虽然已经有很多博客介绍如何编译安装LLVM了,但是根据我自己亲身体验的情况来看,还是有 ...
- CentOS 6.4 编译安装LLVM3.3,Clang和Libc++
LLVM的最新版本3.3终于在6月17日发布了,按之前的计划6月5日就应该发布了,不过毕竟没有太晚,赶在VS2013 preview(6月26日微软Build大会)之前出来了.加上之前gcc4.8.1 ...
- ubuntu下载源码clang + llvm+lldb 编译+安装
[本文可能涉及到Ubuntu安装以下工具:] A.g++ B.gcc C.make D.cmake E.clang(10.0.1)(必须) F.llvm(10.0.1)(必须) G.lldb(10.0 ...
- Ubuntu通过源代码编译安装Octave 4.0
本教程/笔记,意在指导在Ubuntu及其它Linux系统上怎样通过源代码安装Octave. Octave简单介绍 Octave是GNU旗下取代matlab的数学工具软件,语法与matlab高度兼容.而 ...
- 尝试在CentOS7.2上编译安装Swift
苹果提供 Ubuntu上构建Swift 的教程,通过这个教程我尝试使用CentOS7.2上玩儿一把.目前已经成功在CentOS7.2上班成功安装 swift 4.0 https://github.co ...
随机推荐
- 升级webapi依赖的Newtonsoft.json的版本
随着微软日渐重视开源社区的贡献,微软在自己的产品中往往也会集成开源的第三方库. 比如System.Net.Http.Foramatting.dll 就依赖于Newtonsoft.json v4.5. ...
- Qt 二级菜单栏 中文无法输入问题
问题描述:Qt5.3.1版本在建立主界面的二级菜单的时候,中文无法输入,而英文确是可以输入的.(首先我在网页上面搜索了一下,他们说是Qt的设计问题.) 解决方法: (1)粘贴复制,把中文写在其他的地方 ...
- Spring MVC + jpa框架搭建,及全面分析
一,hibernate与jpa的关系 首先明确一点jpa是什么?以前我就搞不清楚jpa和hibernate的关系. 1,JPA(Java Persistence API)是Sun官方提出的Java持久 ...
- [Python爬虫] 在Windows下安装PIP+Phantomjs+Selenium
最近准备深入学习Python相关的爬虫知识了,如果说在使用Python爬取相对正规的网页使用"urllib2 + BeautifulSoup + 正则表达式"就能搞定的话:那么动态 ...
- 盘点mysql中容易被我们误会的地方
引语:mysql作为数据库的一大主力军,到处存在于我们各种系统中,相信大家都不陌生!但是,你知道你能用不代表你知道细节,那我们就来盘点盘点其中一些我们平时不太注意的地方,一来为了有趣,二来为了不让自己 ...
- VS 2008 创建MFC程序对话框的步骤
用过不少编程语言,可是刚开始学的时候最容易忘记一些简单的流程或者生疏了.那么这里就说说VS 2008 创建MFC程序对话框的步骤.我主要是android开发方面的.平时使用jni调用不少c++代码.所 ...
- VC++注册,卸载OCX控件,以及判断是否注册
注册OCX控件 BOOL CYourClass::RegistOcx() { HINSTANCE hLib = LoadLibrary("NTGraph.ocx"); / ...
- SQL行转列和列转行
行列互转,是一个经常遇到的需求.实现的方法,有case when方式和2005之后的内置pivot和unpivot方法来实现. 在读了技术内幕那一节后,虽说这些解决方案早就用过了,却没有系统性的认识和 ...
- GO語言基礎教程:數據類型,變量,常量
GO類似PHP,每行的結尾要加分號來結束,不同點在於GO對此並不強制,這一點又像javascript,另外GO的語句塊是用一對大括號來包裹的,但是go要求左大括號必須要在語句的結尾處,不能在行首出現左 ...
- 转:LIRe 源代码分析
1:整体结构 LIRE(Lucene Image REtrieval)提供一种的简单方式来创建基于图像特性的Lucene索引.利用该索引就能够构建一个基于内容的图像检索(content- based ...