本文记录 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的更多相关文章

  1. Linux c++ vim环境搭建系列(2)——Ubuntu18.04.4编译安装llvm clang

    2. 源码编译安装llvm clang 参考网址: https://llvhttps

  2. Centos 7 编译安装llvm 8.0.0

    参考连接:https://www.cnblogs.com/BinBinStory/p/7499527.html https://blog.csdn.net/llwy1428/article/detai ...

  3. 拾遗:YouCompleteMe 前传——编译安装 llvm + clang

    http://llvm.org/docs/GettingStarted.html 一.下载安装 cmake >=3.4.3 yum install gcc gcc-c++curl -O http ...

  4. llvm+clang编译安装

    最近一段时间在llvm+clang上做一些东西,所以顺便将自己如何编译安装llvm+clang写了篇文章发在这里,希望能帮助刚接触llvm+clang的童鞋少走一些弯路(我刚接触的时候为了编译安装这个 ...

  5. CentOS 7 编译安装clang+llvm

    天在CentOS上将最新版本的LLVM套件(LLVM,Clang和Libc++)编译安装好了,中间遇到了不少问题.虽然已经有很多博客介绍如何编译安装LLVM了,但是根据我自己亲身体验的情况来看,还是有 ...

  6. CentOS 6.4 编译安装LLVM3.3,Clang和Libc++

    LLVM的最新版本3.3终于在6月17日发布了,按之前的计划6月5日就应该发布了,不过毕竟没有太晚,赶在VS2013 preview(6月26日微软Build大会)之前出来了.加上之前gcc4.8.1 ...

  7. 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 ...

  8. Ubuntu通过源代码编译安装Octave 4.0

    本教程/笔记,意在指导在Ubuntu及其它Linux系统上怎样通过源代码安装Octave. Octave简单介绍 Octave是GNU旗下取代matlab的数学工具软件,语法与matlab高度兼容.而 ...

  9. 尝试在CentOS7.2上编译安装Swift

    苹果提供 Ubuntu上构建Swift 的教程,通过这个教程我尝试使用CentOS7.2上玩儿一把.目前已经成功在CentOS7.2上班成功安装 swift 4.0 https://github.co ...

随机推荐

  1. 升级webapi依赖的Newtonsoft.json的版本

    随着微软日渐重视开源社区的贡献,微软在自己的产品中往往也会集成开源的第三方库. 比如System.Net.Http.Foramatting.dll 就依赖于Newtonsoft.json v4.5. ...

  2. Qt 二级菜单栏 中文无法输入问题

    问题描述:Qt5.3.1版本在建立主界面的二级菜单的时候,中文无法输入,而英文确是可以输入的.(首先我在网页上面搜索了一下,他们说是Qt的设计问题.) 解决方法: (1)粘贴复制,把中文写在其他的地方 ...

  3. Spring MVC + jpa框架搭建,及全面分析

    一,hibernate与jpa的关系 首先明确一点jpa是什么?以前我就搞不清楚jpa和hibernate的关系. 1,JPA(Java Persistence API)是Sun官方提出的Java持久 ...

  4. [Python爬虫] 在Windows下安装PIP+Phantomjs+Selenium

    最近准备深入学习Python相关的爬虫知识了,如果说在使用Python爬取相对正规的网页使用"urllib2 + BeautifulSoup + 正则表达式"就能搞定的话:那么动态 ...

  5. 盘点mysql中容易被我们误会的地方

    引语:mysql作为数据库的一大主力军,到处存在于我们各种系统中,相信大家都不陌生!但是,你知道你能用不代表你知道细节,那我们就来盘点盘点其中一些我们平时不太注意的地方,一来为了有趣,二来为了不让自己 ...

  6. VS 2008 创建MFC程序对话框的步骤

    用过不少编程语言,可是刚开始学的时候最容易忘记一些简单的流程或者生疏了.那么这里就说说VS 2008 创建MFC程序对话框的步骤.我主要是android开发方面的.平时使用jni调用不少c++代码.所 ...

  7. VC++注册,卸载OCX控件,以及判断是否注册

    注册OCX控件 BOOL CYourClass::RegistOcx() { HINSTANCE hLib = LoadLibrary("NTGraph.ocx");      / ...

  8. SQL行转列和列转行

    行列互转,是一个经常遇到的需求.实现的方法,有case when方式和2005之后的内置pivot和unpivot方法来实现. 在读了技术内幕那一节后,虽说这些解决方案早就用过了,却没有系统性的认识和 ...

  9. GO語言基礎教程:數據類型,變量,常量

    GO類似PHP,每行的結尾要加分號來結束,不同點在於GO對此並不強制,這一點又像javascript,另外GO的語句塊是用一對大括號來包裹的,但是go要求左大括號必須要在語句的結尾處,不能在行首出現左 ...

  10. 转:LIRe 源代码分析

    1:整体结构 LIRE(Lucene Image REtrieval)提供一种的简单方式来创建基于图像特性的Lucene索引.利用该索引就能够构建一个基于内容的图像检索(content- based ...