背景:
本文次要解决 centos7 4.18 内核零碎 eBPF 编译环境搭建
流程:
1. 内核降级
对于如何在 centos7 装置 4.18 内核,这个网上有大把教程,不再赘述
2. 编译套件降级
centos7 默认 clang llvm 版本较低,不辨认 -target=bpf 命令,因而须要对 clang 进行降级
GCC 降级
编译 llvm,须要 gcc 至多为 5.1 版本,centos 默认装置的是 gcc 4.8.5。yum install centos-release-scl
yum install devtoolset-7
以后登陆 session 失效
scl enable devtoolset-7
bash source /opt/rh/devtoolset-7/enable
echo "source /opt/rh/devtoolset-7/enable" >> ~/.bash_profile
source /opt/rh/devtoolset-7/enable
装置 cmake
https://github.com/Kitware/CMake/releases/download/v3.14.0/cmake-3.14.0.tar.gz
tar -zxvf cmake-3.14.0.tar.gz
cd cmake-3.14.0
./bootstrap
make
make install
装置 clang9 这个步骤十分耗时 预计 3 + 小时
git clone https://github.com/llvm/llvm-project.git
cd llvm-project
git checkout origin/release/9.x
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_RTTI=ON -DLLVM_ENABLE_PROJECTS="clang;libcxx;libcxxabi" -G "Unix Makefiles" ../llvm
make
make install
3.libbpf 库
装置 libelf zlibyum install -y elfutils-libelf-devel
装置 libbpf
git clone https://github.com/libbpf/libbpf
cd libbpf/src
make
make install
至此,环境搭建实现,欢快的 Coding
本文由博客一文多发平台 OpenWrite 公布!