Linux下clang、gcc、intel编译器最新版本安装笔记

系统平台:Red-Hat-Enterprise-Linux-Server-6.0-X86_64

1、clang-3.2安装笔记

(1)下载clang、llvm、compiler-rt源代码

    LLVM-3.2源代码下载: LLVM source code(12M)

    clang-3.2源代码下载:Clang source code(8.4M)

    compiler-rt源代码下载:Compiler RT source code(1.4M)

clang-3.2.src.tar.gz
compiler-rt-3.2.src.tar.gz llvm-3.2.src.tar.gz

 (2)解压下载的源代码压缩包

tar -zxf llvm-3.2.src.tar.gzs  # 解压后文件夹名为llvm-3.2.src,将其重命名为llvm-3.2
tar -zxf clang-3.2.src.tar.gz  # 解压后文件夹名为clang-3.2.src,将其重命名为clang并将其移动到llvm-3.2/tools目录之下
tar -zxf compiler-rt-3.2.src.tar.gz # 解压后文件夹名为compiler-rt-3.2.src,将其重命名为compiler-rt-3.2并将其移动到llvm-3.2/projects目录之下

    然后在于llvm-3.2所在目录新建一个build目录,这样最终得到的目录结构关系如下所示:

├── build
└── llvm-3.2
    ├── projects
    │   └── compiler-rt
    └── tools
        └── clang

    【说明】:我们将在build目录中进行构建llvm、clang和compiler-rt,之所以这样是为了让源代码保持干净,生成的目标文件都在这里。另外将clang和compiler-rt目录分别放入llvm-3.2相应的子目录下是为了在构建llvm的同时,自动构建clang和compiler-rt。

(3)构建llvm、clang和compiler-rt

cd build
../llvm-3.2/configure
make

(4)设置环境变量

    上述第(3)步成功后,clang已经成功编译到了build/Release+Asserts/bin目录之中,至此只需将clang所在目录添加到PATH环境变量中,clang就可以使用了。

    【说明】:前些日子也记录过一篇关于编译clang的文章(http://www.cnblogs.com/soaliap/archive/2012/07/23/2605278.html),当时是从主干直接下载代码的,编译的为Debug版本,很浪费硬盘空间(超过7G),这里下载并编译的为Release版本,就小的多了(不到1G)。

2、gcc-4.7.2安装笔记

(1)、gcc-4.7.2源码下载

    打开http://www.gnu.org/software/gcc/gcc-4.7/页面,左下角可以看到下载镜像站点和SVN服务器地址,本人是从FTP镜像站点下的,并且是.tar.bz2格式(这个格式压缩比较好,压缩文件较小)。

(2)、解压压缩包

    tar -jxf gcc-4.7.2.tar.bz2

(3)、初次尝试

    解压后文件夹为gcc-4.7.2,同上面构建clang一样,新建与gcc-4.7.2同级的目录build,并进入其中执行:

    ../gcc-4.7.2/configure --prefix=/opt/gcc/4.7.2

    不幸的是报错了,错误信息如下:

......
checking for the correct version of gmp.h... no
configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+.
Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
their locations.  Source code for these libraries can be found at
their respective hosting sites as well as at
ftp://gcc.gnu.org/pub/gcc/infrastructure/.  See also
http://gcc.gnu.org/install/prerequisites.html for additional info.  If
you obtained GMP, MPFR and/or MPC from a vendor distribution package,
make sure that you have installed both the libraries and the header
files.  They may be located in separate packages.

     从错误信息中可以看出,需要安装gmp、mpfr和mpc,如果已经安装了,并且安装在了非系统默认能够查找到的位置,则需要通过--with-gmp、--with-mpfr、--with-mpc三个选项指定安装位置。

(4)、安装gmp、mpfr和mpc

    gmp可以从http://gmplib.org/下载,解压后执行:

./configure --prefix=/usr/local/gmp-5.1.0
make
make install

    mpfr可以从http://www.mpfr.org/下载,解压后执行:

./configure --prefix=/usr/local/mpfr-3.1.1 --with-gmp=/usr/local/gmp-5.1.0
make
make install

    mpc可以从http://www.multiprecision.org/下载,解压后执行:

./configure --prefix=/usr/local/mpc-1.0.1 --with-mpfr=/usr/local/mpfr-3.1.1 --with-gmp=/usr/local/gmp-5.1.0
make
make install

    设置环境变量:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/gmp-5.1.0/lib:/usr/local/mpfr-3.1.1/lib:/usr/local/mpc-1.0.1/lib

     【说明】:由于上述三个库的依赖关系为:mpc依赖于mpfr和gmp,mpfr依赖于gmp,因此这三个库的安装先后顺序必须为:gmp、mpfr、mpc。另外,值得一提的是本人一开始想偷懒,不指定gmp、mpfr、mpc的安装目录,让它们安装到默认的路径,这样就可以不设置环境变量,也不需使用--with-gmp、--withmpfr、--with-mpc三个选项了,可没想到重新make的时候(编译gcc的时候)会报错:“configure: error: cannot compute suffix of object files: cannot compile”,于是只好老老实实按照上述步骤再做一遍。

(5)、重新构建

../gcc-4.7.2/configure --prefix=/opt/gcc/4.7.2 --with-mpc=/usr/local/mpc-1.0.1 --with-mpfr=/usr/local/mpfr-3.1.1 --with-gmp=/usr/local/gmp-5.1.0
make

    make的时候还有错误:“/usr/include/gnu/stubs.h:7:27: fatal error: gnu/stubs-32.h: No such file or directory”,解决方法是在执行configure时加上--disable-multilib选项。

 (6)、再次重新构建

../gcc-4.7.2/configure --prefix=/opt/gcc/4.7.2 --with-mpc=/usr/local/mpc-1.0.1 --with-mpfr=/usr/local/mpfr-3.1.1 --with-gmp=/usr/local/gmp-5.1.0 --disable-multilib
make
make install

 (7)、设置环境变量

export PATH=/opt/gcc/4.7.2/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/gcc/4.7.2/lib64:/usr/local/gmp-5.1.0/lib:/usr/local/mpfr-3.1.1/lib:/usr/local/mpc-1.0.1/lib

    至此,g++-4.7.2已经可以正常使用了。

    【说明】:若是安装过程还有别的问题,可以瞅瞅这篇文章,http://blog.csdn.net/gengshenghong/article/details/7498085,看能否找到答案。

 3、Intel C++编译器安装笔记

(1)、申请评估版本

    intel编译器并不开放源代码,但是提供一个30天免费使用的评估版本,需要到intel官方网站申请(http://software.intel.com/en-us/intel-software-evaluation-center)填写申请信息提交后,会收到intel发给你的一封邮件,其中有下载的链接。

    说明】:默认下载的版本能够安装在32位系统或64位系统之中,但是下载的压缩包比较大(1.5G),如果你只想要安装在64位系统上,那么下载intel64版本的即可(仅有968M),另外也有32位版本。

(2)、安装

    下载完成后,解压,里面有个shell脚本(install.sh),运行它即可。安装过程更装windows程序没什么两样,只不过是命令行形式的,需要你手动敲accept和安装选项而已。

(3)、设置环境变量

    intel提供了shell脚本来帮助你简化环境变量设置,只需执行:

source /opt/intel/bin/compilervars.sh intel64     # /opt/intel为安装目录
原文地址:https://www.cnblogs.com/opangle/p/2838554.html