本文记录 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. servlet servlet基本概念和helloservlet实例

    java web目录结构: web.xml是重要配置文件,容器正是通过这个文件找到service方法. 用纯文本+tomcat组装简单servlet web 新建HelloServlet.java: ...

  2. Atitit 网络爬虫与数据采集器的原理与实践attilax著 v2

    Atitit 网络爬虫与数据采集器的原理与实践attilax著 v2 1. 数据采集1 1.1. http lib1 1.2. HTML Parsers,1 1.3. 第8章 web爬取199 1 2 ...

  3. paip.python NameError name 'xxx' is not defined\

    paip.python NameError name 'xxx' is not defined\ 导入一个另一个文件里面的函数的时候儿,出孪这个err #这个仅仅导入孪file...要使用里面的fun ...

  4. 分享几段JavaScript

    正则表达式 /*http://www.cnblogs.com/woxpp/*/ intege: "^-?[1-9]\\d*$", /*整数*/ intege1: "^[1 ...

  5. 菜鸟学习WCF笔记-Address

    终结点是WCF最为核心的对象,因为它承载了所有通信功能.服务通过相应的终结点发布出来,客户端通过与之匹配的终结点对服务进行调用.终结点有地址.绑定和契约ABC三要素构成. Address  作为终结点 ...

  6. iOS开发-UITableView滑动视差

    视差滚动是指让多层背景以不同的速度移动,形成立体的运动效果,在Web上应用的比较多,App中倒是见的相对比较少,主要在UITableView中的应用的比较多,尤其是当整个UITableViewCell ...

  7. 修改Android签名证书keystore的密码、别名alias以及别名密码

    Eclipse ADT的Custom debug keystore自定义调试证书的时候,Android应用开发接入各种SDK时会发现,有很多SDK是需要靠package name和keystore的指 ...

  8. Html+css 练习写页面发现的错误及解决办法。

    最近开始模仿写一些静态页面,今天模仿的是中华咨询网.写了一个简单的js(功能:当鼠标hover一级菜单的时候,设置二级菜单为显示,当鼠标hover二级菜单的选项时候,二级菜单不收回.当鼠标移出菜单一级 ...

  9. Activiti 查询最新版本的流程定义

    package com.mycom.processDefinition; import java.io.File; import java.io.IOException; import java.io ...

  10. 实现多项式的JAVA类

                                   p = coef[i] + (x * p);               }                           Poly ...