Ubuntu 中安装DPDK

一、先安装DPDK的依赖库

1.1、安装 meson

参考:ubuntu上安装meson & 如何使用meson编译C代码

安装其他依赖库:

sudo apt install software-properties-common
//续测试省略这一步是否可以???
sudo add-apt-repository ppa:deadsnakes/ppa    将Deadsnakes PPA添加到系统的来源列表中
sudo apt-get install python3.8 python-pip ninja-build
apt install python3-pyelftools
ln 修改 /usr/bin/python3 链接到 python3.8
python3.8 --version

pip3 install meson

meson build 
错误:
ERROR: C shared or static library 'yaml' not found

解决方案:
https://pyyaml.org/wiki/LibYAML

二、编译 DPDK

cd dpdk
meson build
cd build
ninja
sudo -s
ninja install
ldconfig

        Note:不可以简单的将编译之后的DPDK复制到目的主机,需要重新编译。因为编译的时候会根据CPU指令集进行性能优化,所以不同主机编译结果是不同的。

三、编译DPDK应用

例如:

编译头文件 agile.h 及对应的源文件:
/root/dpdk-vdpa/drivers/vdpa/agile/base/agile.h

编译:
cd /root/dpdk-vdpa/build
ninja

编译完成后在/root/dpdk-vdpa/build/examples/ 中生成可执行程序:dpdk-vdpa
root@dayu:~/dpdk-vdpa/build/examples# ls
dpdk-vdpa  dpdk-vdpa.p  vdpa

参考:ubuntu环境下安装DPDK(21.02)_我要出家当道士-程序员宝宝

编译过程中遇到的错误

错误:

root@dayu:~/dpdk-vdpa/build# ninja
[0/1] Regenerating build files.
Traceback (most recent call last):
  File "/usr/share/meson/mesonbuild/mesonmain.py", line 361, in run
    app.generate()
  File "/usr/share/meson/mesonbuild/mesonmain.py", line 148, in generate
    env = environment.Environment(self.source_dir, self.build_dir, self.meson_script_launcher, self.options, self.original_cmd_line_args)
  File "/usr/share/meson/mesonbuild/environment.py", line 254, in __init__
    self.coredata = coredata.load(self.get_build_dir())
  File "/usr/share/meson/mesonbuild/coredata.py", line 348, in load
    obj = pickle.load(f)
AttributeError: Can't get attribute 'UserFeatureOption' on <module 'mesonbuild.coredata' from '/usr/share/meson/mesonbuild/coredata.py'>
FAILED: build.ninja 
/usr/local/bin/meson --internal regenerate /root/dpdk-vdpa /root/dpdk-vdpa/build --backend ninja
ninja: error: rebuilding 'build.ninja': subcommand failed

看错误是和meson相关。

解决办法:升级meson的版本,比如 从 0.45.1 升级到 0.60.0。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值