来自引用:

http://www.cnblogs.com/dudu/p/4294374.html

编译llvm几乎耗费了1个小时…..

编译CoreCLR需要Clang 3.5,而CentOS上安装的是Clang 3.4.2(yum repos中最新版也是这个),只能自己手工编译LLVM的源代码进行安装。

(注:CentOS的版本是6.6)

一、安装libstdc++4.7

(注:如果是CentOS 7.0,不需要这步)

wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo

yum install devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++

ln -s /opt/rh/devtoolset-2/root/usr/bin/* /usr/local/bin/

如果不安装,在configure配置编译选项时会出现下面的错误提示:

We detected a missing feature in the standard C++ library that was known to be

missing in libstdc++4.6 and implemented in libstdc++4.7. There are numerous

C++11 problems with 4.6’s library, and we don’t support GCCs or libstdc++ older

than 4.7.

二、安装Python 2.7.9

(注:如果是CentOS 7.0,不需要这步)

CentOS 6.6自带的是Python 2.6.6,而编译llvm需要Python 2.7以上。

1)安装编译Python需要的包包

yum install zlib-devel

yum install bzip2-devel

yum install openssl-devel

yum install ncurses-devel

yum install sqlite-devel

2)下载并解压Python 2.7.9的源代码

cd /opt

wget –no-check-certificate https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tar.xz

tar xf Python-2.7.9.tar.xz

cd Python-2.7.9

3)编译与安装Python 2.7.9

./configure –prefix=/usr/local

make && make altinstall

4)将python命令指向Python 2.7.9

ln -s /usr/local/bin/python2.7 /usr/local/bin/python

三、添加交换分区

如果编译的机器内存比较小,建议添加交换分区。我当时测试的机器只有1G内存,在编译过程中出现了“c++: internal compiler error: Killed (program cc1plus)”错误。

1)创建并激活交换文件(比如2G):

dd if=/dev/zero of=/swapfile bs=1k count=2048000

mkswap /swapfile

swapon /swapfile

2)修改 /etc/fstab 文件让交换文件启动时自动加载,添加如下内容:

/swapfile swap swap defaults 0 0

四、编译LLVM

1)下载llvm的源代码

http://llvm.org/releases/3.5.0/llvm-3.5.0.src.tar.xz

mv llvm-3.5.0.src llvm

2)下载clang的源代码

cd llvm/tools

wget http://llvm.org/releases/3.5.0/cfe-3.5.0.src.tar.xz

tar xf cfe-3.5.0.src.tar.xz

mv cfe-3.5.0.src clang

3)下载compiler-rt的源代码

cd ../projects

wget http://llvm.org/releases/3.5.0/compiler-rt-3.5.0.src.tar.xz

tar xf compiler-rt-3.5.0.src.tar.xz

mv compiler-rt-3.5.0.src compiler-rt

4)配置编译选项

cd ..

./configure –enable-optimized CC=gcc CXX=g++

5)编译llvm

make -j2

编译成功后的提示:

llvm[0]: * Completed Release+Asserts Build

6)安装编译好的llvm

make install

会安装在/usr/local/bing中

7)检查clang的版本

clang –version

clang version 3.5.0 (tags/RELEASE_350/final)

如果还是旧版本,需要将/usr/bin/clang指向clang 3.5.0:

ls -s /usr/local/bin/clang /usr/bin/clang

【相关链接】

如何在CentOS上安装libstdc++4.7

在Linux CentOS 6.6上安装Python 2.7.9

CentOS 6.5 安装Clang 3.5.0的更多相关文章

  1. CentOS 6 中安装Node.js 4.0 版本或以上

    如果想在CentOS 6 中安装Node.js >4.0,如果通过以往的方式安装: wget http://nodejs.org/dist/v4.0.0/node-v4.0.0.tar.gz t ...

  2. CentOS 6.5安装Erlang/OTP 17.0

    CentOS 6.5安装Erlang/OTP 17.0 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs Erlang眼下已经是Fedora和Debian/ ...

  3. 在Linux CentOS上编译并安装Clang 3.5.0

    编译CoreCLR需要Clang 3.5,而CentOS上安装的是Clang 3.4.2(yum repos中最新版也是这个),只能自己手工编译LLVM的源代码进行安装. (注:CentOS的版本是6 ...

  4. CentOS 7 编译安装clang+llvm

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

  5. CentOS 7.4 安装 K8S v1.11.0 集群所遇到的问题

    0.引言 最近打算将现有项目的 Docker 部署到阿里云上面,但是之前是单机部署,现在阿里云上面有 3 台机器,所以想做一个 Docker 集群.之前考虑是用 Docker Swarm 来做这个事情 ...

  6. CentOS 7.4安装Nginx 1.14.0

    一.安装所需环境   1.gcc 安装         yum install gcc-c++    

  7. CentOS 6.5安装Oracle 11.2.0.4------CentOS 6.5安装

    规划: IP:192.168.213.199 mask: 255.255.255.0 gateway:192.168.213.1 DNS1:202.101.172.35 磁盘分区: 磁盘总大小:25G ...

  8. centos 6.X 安装nodejs v6.11.0和npm

    下载nodejs wget -c https://nodejs.org/dist/v6.11.0/node-v6.11.0-linux-x64.tar.xz 安装gcc++ yum install - ...

  9. Centos 7.6 安装 oracle 10.2.0.1 数据库软件

    step 1: 编辑 /etc/redhat-release :内容为redhat-4 step 2: 安装32位的软件包:yum install libXp.i686  libXt.i686  li ...

随机推荐

  1. (转)php 根据url自动生成缩略图并处理高并发问题

    分享是一种精神,与技术高低无关!   图片缩略图动态生成- [代码编程] 2011-08-23 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://www.blogbus.c ...

  2. SAP RFC 的介绍

    第一部分 RFC技术 什么是RFC? RFC是SAP系统和其他(SAP或非SAP)系统间的一个重要而常用的双向接口技术,也被视为SAP与外部通信的基本协议.简单地说,RFC过程就是系统调用当前系统外的 ...

  3. 负载均衡,会话保持,session同步(转)

    一,什么负载均衡一个新网站是不要做负载均衡的,因为访问量不大,流量也不大,所以没有必要搞这些东西.但是随着网站访问量和流量的快速增长,单台服务器受自身硬件条件的限制,很难承受这么大的访问量.在这种情况 ...

  4. Android Weekly Notes Issue #257

    Android Weekly Issue #257 May 14th, 2017 Android Weekly Issue #257 本期内容包括: Gradle中关于项目的一些设置; Android ...

  5. BZOJ3295 [Cqoi2011]动态逆序对 —— CDQ分治

    题目链接:https://vjudge.net/problem/HYSBZ-3295 3295: [Cqoi2011]动态逆序对 Time Limit: 10 Sec  Memory Limit: 1 ...

  6. c语言学习的第13天2

    #include <stdio.h> #include <malloc.h> void f(int **q) { *q=(int *)malloc(sizeof(int)); ...

  7. zabbix haproxy 监控

    摘自: http://www.tuicool.com/articles/JrYNNrm 写的非常好,步步紧逼,环环相扣.直到成功! 文章首发站点:OpensGalaxy 这是一个HAProxy的zab ...

  8. 创建Django博客的数据库模型

    声明:此Django分类下的教程是追梦人物所有,地址http://www.jianshu.com/u/f0c09f959299,本人写在此只是为了巩固复习使用 blog最主要的功能就是展示我们写的文章 ...

  9. linux中python easy_install命令

    centos 下安装 python easy_installcurl -O http://peak.telecommunity.com/dist/ez_setup.pypython ez_setup. ...

  10. Gym:101630J - Journey from Petersburg to Moscow(最短路)

    题意:求1到N的最短路,最短路的定义为路径上最大的K条边. 思路:对于每种边权,假设为X,它是第K大,那么小于X的变为0,大于K的,边权-X.然后求最短路,用dis[N]+K*X更新答案. 而小于K的 ...