Centos7.9源码编译安装dpdk

  近日遇到一个需求,需要在Centos7.9上源码编译安装dpdk-21.11.2,并且dpdk的安装目录为/opt/。安装过程较为复杂,特此记录一下,方便日后查看。

相关配置 参数
编译环境 虚拟机Centos7.9
内核版本 3.10.0-957
dpdk版本 21.11.2

  DPDK是INTEL公司开发的一款高性能的网络驱动组件,旨在为数据面应用程序提供一个简单方便的,完整的,快速的数据包处理解决方案,主要技术有用户态、轮询取代中断、零拷贝、网卡RSS、访存DirectIO等。其它的资料可自行百度了解。

一、准备编译环境

1、安装相关依赖包。

  DPDK在20版本以后需要使用meson和ninja编译安装。

(1)安装pip3环境

yum install python3 python3-pip
pip3 install --upgrade pip

(2)安装meson

pip3 install meson

(3)安装ninja

pip3 install ninja

注意: 如果出现WARNING: The script ninja is installed in ‘/usr/local/bin’ which is not on PATH. 则需要添加环境变量。
vim /etc/profile
文件末尾添加export PATH=“/usr/local/bin:$PATH”

(4)安装pyelftools

pip3 install pyelftools
pip3 install ninja

2、下载dpdk源码安装包。

官网下载链接:http://core.dpdk.org/download/
在这里插入图片描述下载对应的21.11.2版本的源码包,然后上传到服务器指定位置即可。这里小编则是上传到了/opt/下。

二、编译安装、测试

(1)编译安装

cd /opt/
tar zxf dpdk-stable-21.11.2.tar.gz
cd dpdk-stable-21.11.2/

export DPDK_DIR=/opt/dpdk-stable-21.11.2
export DPDK_BUILD=$DPDK_DIR/build

#查看配置
meson configure
meson build --prefix=/opt/
ninja -C build
DESTDIR=/opt/ ninja -C build install
ldconfig

export PKG_CONFIG_PATH=/opt/lib64/pkgconfig

(2)测试是否安装成功

安装成功后,输入命令,显示对应的版本号信息即为安装成功。

pkg-config --modversion libdpdk

在这里插入图片描述

(3)运行测试样例

编译运行helloworld样例:

#根据自己的安装路径去找到对应的helloworld测试样例
/opt/dpdk-stable-21.11.2/examples/helloworld  
make
./build/helloworld --no-huge 

出现下图即为成功。
在这里插入图片描述

三、常见问题及解决方法

1、报错:buildtools/meson.build:49:8: ERROR: Problem encountered: missing python module: elftools

解决方法:pip3 install pyelftools && pip3 install ninja

2、报错: go meson_options.txt:7:0: ERROR: Unknown type feature.

解决方法:pip3 install --user meson $ export PATH=~/.local/bin:$PATH

猜你喜欢

转载自blog.csdn.net/fish332/article/details/129119709