bcc 安装

一、git地址:https://github.com/iovisor/bcc

二、用途:用于分析ebpf的相关问题,eg:查看程序都打开了哪些文件

三、安装步骤

1、版本要求:

主机内核为:5.4.109-1.el7.elrepo.x86_64,其它版本的主机内核没有测试过

安装版本bcc 0.24.0(备注:我尝试过安装当前最新的版本0.28.0,会报错误。可能跟我的gcc的版本有关系,没有验证)

gcc版本为:7.3.0(源码编译)(备注:虽然程序报错中提示,最低版本5.1,但是用5.1源码编译clang的时候会报错,升级到7.3以后就可以解决)下载地址:Index of /gnu/gcc/gcc-7.3.0/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

llvm及clang:直接下载llvm-project ,这个里面编译包含了llvm和clang,地址为:https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.1/llvm-project-10.0.1.tar.xz

2、安装操作:

1)先安装gcc

首先下载压缩包解压 tar -xf gcc-7.3.0.tar.xz && cd gcc-7.3.0 && ./configure --disable-multilib && make -j 10 && make install 

备注:gcc默认会安装到/usr/local/bin

export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH

2)编译安装llvm及clang

首先下载压缩包解压 tar -xf llvm-project-10.0.1.tar.xz && mkdir llvm-project-10.0.1/build && cd llvm-project-10.0.1/build

由于llvm及clang在配置编译的时候,默认找的gcc及c++的路径为/usr/bin/gcc及/usr/bin/c++

所以在配置llvm及clang的时候,需要指定gcc及c++。

命令为:cmake -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_RTTI=ON -DLLVM_ENABLE_PROJECTS="clang;libcxx;libcxxabi" -G "Unix Makefiles" -DCMAKE_C_COMPILER=/usr/local/bin/gcc -DCMAKE_CXX_COMPILER=/usr/local/bin/g++ ../llvm    && make -j 10 && make install

3)编译安装bcc

yum install elfutils-libelf-devel

先安装python3 ,因为在编译的时候要找python3这个命令:yum -y install python3

首先下载压缩包解压 tar -xf  bcc-src-with-submodule-24.tar.gz && mkdir bcc/build && cd bcc/build

同理第二步,配置编译命令为:cmake  -DCMAKE_C_COMPILER=/usr/local/bin/gcc -DCMAKE_CXX_COMPILER=/usr/local/bin/g++ .. && make -j 10 && make install

4)以上三个步骤已经将bcc的命令安装到 /usr/share/bcc/tools目录下,并且将python3的bcc包导入到python3的site-package包下,通过进入到python3然后执行from bcc import BPF验证是否已经成功

5)以上成功后,通过python3来使用bcc的文件 python3 /usr/share/bcc/tools/filetop 即可,如果不指定python3默认走的是python2就会报错

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值