赞
踩
如在新系统中安装,确保安装了make,以及zlib,如果没有安装,请执行
sudo apt update
sudo apt install make
sudo apt install zlib1g-dev
sudo apt install -y bison build-essential cmake flex git libedit-dev liblzma-dev \libllvm12 llvm-12-dev libclang-12-dev python3 zlib1g-dev libelf-dev libfl-dev python3-distutils
git clone https://github.com/iovisor/bcc.git
在拉取的含有bcc的目录执行
mkdir bcc/build; cd bcc/build
cmake ..
通过源码编译安装(ubuntu22.04我选择0.189,ubuntu20.04选择0.188)
安装依赖包
sudo apt install -y g++ libmicrohttpd-dev libsqlite3-dev libarchive-dev libcurl4-openssl-dev gettext libzstd-dev pkg-config
下载LibDebuginfod依赖,依然通过编译安装
wget https://sourceware.org/elfutils/ftp/0.189/elfutils-0.189.tar.bz2
tar xvf elfutils-0.189.tar.bz2
mkdir elfutils-0.189/build
cd elfutils-0.189/build/
../configure
make
sudo make install
sudo ldconfig
通过源码编译安装,选择稳定的5.1版本
wget https://luajit.org/download/LuaJIT-2.0.5.tar.gz
tar -zxvf LuaJIT-2.0.5.tar.gz
cd LuaJIT-2.0.5
make
sudo make install
sudo apt install arping netperf iperf
依赖配置完成,重新执行
cmake ..
make
报错缺失setuptools
执行
sudo apt install python3-pip
继续
make
依次执行下列命令
sudo make install
cmake -DPYTHON_CMD=python3 ..
pushd src/python/
make
sudo make install
popd
到此安装完成,进行编译调试。
默认安装在/usr/share/bcc
cd /usr/share/bcc/examples
ls
sudo python3 hello_world.py
报错缺失BPF,AttributeError: /lib/x86_64-linux-gnu/libbcc.so.0: undefined symbol: bpf_module_create_b
解决:打开bcc编译生成的bcc lib库,进行替换。
编译生成的库位置看自己的git拉取位置,本人在
cd /home/whj/Desktop/bcc/build/src/python/bcc-python3/bcc
python3的bcc库默认在
cd /usr/lib/python3/dist-packages/bcc
确定好位置,执行
sudo cp -r /home/whj/Desktop/bcc/build/src/python/bcc-python3/bcc/* /usr/lib/python3/dist-packages/bcc/
重新执行
cd /usr/share/bcc/examples
ls
sudo python3 hello_world.py
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。