llvm编译

一 升级gcc

wget -c http://mirror.koddos.net/gcc/releases/gcc-9.2.0/gcc-9.0.2.tar.xz
tar xvf gcc-9.0.2.tar.xz
cd gcc-9.0.2
./contrib/download_prerequisites
./configure --prefix=/usr/local/gcc-9.2.0 --enable-checking=release --enable-languages=c,c++ --disable-multilib 
make -j 4
make install
#修改环境变量

二安装z3

wget https://github.com/Z3Prover/z3/archive/z3-4.8.6.tar.gz
tar -zxvf z3-4.8.6.tar.gz
cd z3-4.8.6
python scripts/mk_make.py
cd build
make
make install

安装llvm

wget http://releases.llvm.org/9.0.0/llvm-9.0.0.src.tar.xz
wget http://releases.llvm.org/9.0.0/cfe-9.0.0.src.tar.xz
wget http://releases.llvm.org/9.0.0/compiler-rt-9.0.0.src.tar.xz
wget http://releases.llvm.org/9.0.0/clang-tools-extra-9.0.0.src.tar.xz
tar xvf llvm-9.0.0.src.tar.xz
tar xvf cfe-9.0.0.src.tar.xz
tar xvf compiler-rt-9.0.0.src.tar.xz
tar xvf clang-tools-extra-9.0.0.src.tar.xz

mv cfe-9.0.0.src clang
mv clang/ llvm-9.0.0.src/tools/

mv clang-tools-extra-9.0.0.src extra
mv extra/ llvm-4.0.1.src/tools/clang/

mv compiler-rt-9.0.0.src compiler-rt
mv compiler-rt llvm-9.0.0.src/projects/

mkdir build
cd build
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr/local/clang -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=On ..
make -j 4
make install

可能遇到的问题

一 cound not find Z3(found /usr/lib/libz3.so)
vim /etc/ld.so.conf
/usr/lib
ldconfig -v

二 gcc version


llvm编译_第1张图片
image.png

升级后卸载旧的:

yum remove gcc

三 glibcxx_3.4.26 not found


llvm编译_第2张图片
image.png
[root@ptool local]# find / -name libstdc++.so.6
/opt/gcc-9.2.0/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6
/opt/gcc-9.2.0/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6
/opt/gcc-9.2.0/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6
/usr/lib64/libstdc++.so.6
/usr/lib/libstdc++.so.6
/usr/local/gcc-9.2.0/lib64/libstdc++.so.6
#替换旧的
cp /usr/local/gcc-9.2.0/lib64/libstdc++.so.6 /usr/lib
cp /usr/local/gcc-9.2.0/lib64/libstdc++.so.6 /usr/lib64

你可能感兴趣的:(llvm编译)