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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一条代码鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值