bcc-tools安装
Posted shihuvini
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bcc-tools安装相关的知识,希望对你有一定的参考价值。
1 一. 安装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
2 二. 安装llvm7.0
- 下载llvm源码包:wget http://releases.llvm.org/7.0.0/llvm-7.0.0.src.tar.xz
- 解压:tar -xf llvm-7.0.0.src.tar.xz
- 下载clang: wget http://releases.llvm.org/7.0.0/cfe-7.0.0.src.tar.xz
- 解压:tar -xf cfe-7.0.0.src.tar.xz
- mv cfe-7.0.0.src llvm-7.0.0.src/tools/
- mkdir llvm-build
- cd llvm-build
- llvm和clang版本要匹配,并且要选择合适版本,但是没有搞清楚规则是什么
2.1.1 cmake -G “Unix Makefiles” -DCMAKE_INSTALL_PREFIX=/usr/local -DLLVM_TARGETS_TO_BUILD=”BPF;X86” -DCMAKE_BUILD_TYPE=Release ../llvm-7.0.0.src(su切换为超级用户)
2.1.2 DLLVM_TARGETS_TO_BUILD 选项arrch64下,使用AArch64
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr/local -DLLVM_TARGETS_TO_BUILD="BPF;AArch64" -DCMAKE_BUILD_TYPE=Release ../llvm-7.0.0.src/
- make
- make
install
编译的时间稍微有点儿长。
3 三. 安装其他库
3.1.1 1、libelf
- sudo yum install -y elfutils-libelf-devel
- 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
3.1.2 luajit(可以不安装)
3.1.3 apt-get install flex bison
4 四. 安装bcc-tools
- 下载bcc源码包:https://github.com/iovisor/bcc
- mkdir bcc/bcc-build
- cd bcc-build
- cmake .. -DCMAKE_INSTALL_PREFIX=/usr
- make && make install
编译挺快的。
安装完成时候就可以到 /usr/share/bcc/tools 目下体验bbc-tools的强大了。
参考:https://blog.csdn.net/didi8206050/article/details/72621499
Llvm和clang(cfe)下载:http://releases.llvm.org/
还有/lib/modules/`uname -r`/build,没有该目录需要安装(那只是因为系统缺少内核头文件),或者/usr/src/下有对应版本,建立软连接。
[email protected]:~# ls -l /lib/modules/4.16.2-rc1/
total 5156
lrwxrwxrwx 1 root root 49 Oct 24 16:21 build -> /home/kernel/linux-4.16.2-devm.1.2.aarch64.dongbo
bcc-tools的功能参见:https://github.com/iovisor/bcc
https://zhuanlan.zhihu.com/p/32027979
以上是关于bcc-tools安装的主要内容,如果未能解决你的问题,请参考以下文章
bcc-tools trace提示chdir(/lib/modules/5.4.182-1.el7.elrepo.x86_64/build): No such file or directory