安装bcc-tools 和 gcc 4.8+

一. 安装cmake
cmake是一种跨平台的编译工具,安装过程如下:

下载源码包:https://cmake.org/files/v3.8/cmake-3.8.0.tar.gz
解压:tar -xf cmake-3.8.0.tar.gz
引导程序运行:./bootstrap
编译gmake
安装:make install
环境配置:echo 'export PATH=$PATH:/usr/local/bin' >> ~/.bashrc && source ~/.bashrc

二. 安装llvm4.0
下载llvm源码包:wget http://releases.llvm.org/4.0.0/llvm-4.0.0.src.tar.xz
解压:tar -xf llvm-4.0.0.src.tar.xz
下载clang: wget http://releases.llvm.org/4.0.0/cfe-4.0.0.src.tar.xz
解压:tar -xf cfe-4.0.0.src.tar.xz
mv cfe-4.0.0.src llvm-4.0.0.src/tools/
mkdir llvm-build
cd llvm-build
cmake -G 'Unix Makefiles' -DCMAKE_INSTALL_PREFIX=/usr/local -DLLVM_TARGETS_TO_BUILD='BPF;X86' -DCMAKE_BUILD_TYPE=Release ../llvm-4.0.0.src

(su切换为超级用户)
make
make install
编译的时间稍微有点儿长。

备注:

在gcc升级且配置了export之后,如果报错

[ 8%] Building AttributesCompatFunc.inc...
../../bin/llvm-tblgen: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by ../../bin/llvm-tblgen)
../../bin/llvm-tblgen: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.17' not found (required by ../../bin/llvm-tblgen)
../../bin/llvm-tblgen: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.19' not found (required by ../../bin/llvm-tblgen)
../../bin/llvm-tblgen: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by ../../bin/llvm-tblgen)

解决

cd /usr/lib64 &&  unlink  libstdc++.so.6 && ln -s /usr/local/lib64/libstdc++.so.6.0.19 libstdc++.so.6

/usr/local/lib64/libstdc++.so.6.0.19 是进行了下面gcc的升级步骤之后才有的


三. 安装其他库
libelf
sudo yum install -y elfutils-libelf-devel

luajit

sudo wget http://luajit.org/download.html/LuaJIT-2.0.5.tar

tar zxvf LuaJIT-2.0.4.tar.gz
cd LuaJIT-2.0.4
make && sudo make install
四. 安装bcc-tools

git clone https://github.com/iovisor/bcc.git
mkdir bcc/build; cd bcc/build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr
make
sudo make install

https://blog.csdn.net/luckgl/article/details/88355074

1.获取gcc4.8.5的源码包

wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.5/gcc-4.8.5.tar.bz2

2.解压压缩包

tar -jxvf gcc-4.8.5.tar.bz2

3.进入解压后的目录

cd gcc-4.8.5

4.下载、配置和安装需要的依赖库

./contrib/download_prerequisites

这个脚本文件会自动帮我们下载、配置、安装依赖库,可以节约我们大量的时间和精力。

5.直接在当前目录下创建一个目录,存放编译后的文件。

mkdir gcc-build-4.8.5

6.进入这个目录来编译

cd gcc-build-4.8.5

7.生成Makefile文件,准备编译整个项目(gcc4.8.5)

../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib

8.编译gcc4.8.5的源码,非常耗时,时间决定于你的机器的性能。

make

configure: error: C++ compiler missing or inoperational

make[2]: *** [configure-stage1-libcpp] Error 1   

make[2]: Leaving directory `/home/liukk/gcc-4.8.1'   

make[1]: *** [stage1-bubble] Error 2   

make[1]: Leaving directory `/home/liukk/gcc-4.8.1'   

make: *** [all] Error 2

解决办法:

安装如下内容:

yum install gcc-c++

9.安装gcc4.8.5(非root用户要在前面加sudo)

make install

10.查看gcc和g++的版本

gcc --version

g++ --version

    正确提示为:

gcc (GCC) 4.8.5

g++ (GCC) 4.8.5

11.centos的gcc版本一般比较低,有时候需要用到高版本的gcc,所以回自己装一个。

cmake执行编译的时候,默认使用/usr/bin目录下的gcc/g++去进行编译,很多时候我们的库文件是用新版本的gcc编译的,所以会出现莫名其妙的错误,但是错误会包含 gcclib版本之类的信息。

自己装的gcc一般目录在/usr/local/bin目录下,所以需要制定gcc的目录

export CC=/usr/local/bin/gcc
export CXX=/usr/local/bin/g++
#先要清除cmake的缓存文件,再执行,针对本次安装步骤就是要清楚llvm-build中的内容 cmake /path/to/your/project make

  


 

原文地址:https://www.cnblogs.com/robinunix/p/12457685.html