Centos7 源码安装 Clang9
安装CMake
必须是3.4.3以上版本,直接下载二进制设置到PATH环境变量就可以了
下载升级GCC到9.2.0版本
yum -y install wget bzip2 gcc gcc-c++ glibc-headers
#wget https://ftp.gnu.org/gnu/gcc/gcc-9.2.0/gcc-9.2.0.tar.gz
wget https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-9.2.0/gcc-9.2.0.tar.gz
tar -zxvf gcc-9.2.0.tar.gz # 解压缩源码包
cd gcc-9.2.0
./contrib/download_prerequisites #下载gmp mpfr mpc isl等供编译需求的依赖项
mkdir build
cd build
../configure --enable-bootstrap --enable-checking=release --enable-languages=c,c++ --disable-multilib
make -j8
make install
yum remove gcc gcc-c++
cp /usr/local/lib64/libstdc++.so.6.0.27 /usr/lib64/libstdc++.so.6.0.27
下载clang源码包
2)将不同的源码放到指定的目录下,详细如下:
tar -Jxf llvm-9.0.1.src.tar.xz
mv llvm-9.0.1.src llvm-9.0.1
cd llvm-9.0.1/tools
tar -Jxf clang-9.0.1.src.tar.xz; mv clang-9.0.1.src clang
cd llvm-9.0.1/projects
tar -Jxf openmp-9.0.01.src.tar.xz; mv openmp-9.0.01.src openmp
tar -Jxf libcxx-9.0.01.src.tar.xz; mv libcxx-9.0.01.src libcxx
tar -Jxf libcxxabi-9.0.01.src.tar.xz; mv libcxxabi-9.0.01.src libcxxabi
tar -Jxf libunwind-9.0.01.src.tar.xz; mv libunwind-9.0.01.src libunwind
tar -Jxf lld-9.0.01.src.tar.xz; mv lld-9.0.01.src lld
tar -Jxf compiler-rt-9.0.01.src.tar.xz; mv compiler-rt-9.0.01.src compiler-rt
tar -Jxf polly-9.0.01.src.tar.xz; mv polly-9.0.01.src polly
编译安装clang
mkdir build; cd build;
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DLLVM_BUILD_DOCS=OFF -DCMAKE_INSTALL_PREFIX=/usr/local/clang_9.0.1 ../llvm-9.0.1
make -j8; make install