构建 DPDK PktGen 的问题

Problems building DPDK PktGen

我正在尝试使用 gcc 4.8.5 在 Centos 7 上构建 DPDK PktGen。

我为 dpdk 和 pktgen 做了 'git clone':

git clone http://dpdk.org/git/dpdk
git clone http://dpdk.org/git/apps/pktgen-dpdk

所以我知道我有每个版本的 HEAD 版本。

我使用以下方法构建了 dpdk:

cd dpdk
meson build
ninja

然后我尝试使用以下方法构建 pktgen:

export PKG_CONFIG_PATH=$PWD/meson-private
pkg-config --cflags libdpdk
pkg-config --libs libdpdk
cd $RTE_SDK/pktgen-dpdk
meson build
cd build
ninja

但我看到许多错误,例如:

[76/2153] /usr/bin/meson --internal exe --capture lib/ip_frag.sym_chk -- /data/daldrich/pktgen/dpdk/buildtools/check-symbols.sh /data/daldrich/pktgen/dpdk/lib/librte_ip_frag/version.map lib/librte_ip_frag.a
FAILED: lib/ip_frag.sym_chk
/usr/bin/meson --internal exe --capture lib/ip_frag.sym_chk -- /data/daldrich/pktgen/dpdk/buildtools/check-symbols.sh /data/daldrich/pktgen/dpdk/lib/librte_ip_frag/version.map lib/librte_ip_frag.a
rte_frag_table_del_expired_entries is flagged as experimental
but is not listed in version map
Please add rte_frag_table_del_expired_entries to the version map

“请将 xxxx 添加到版本映射”消息是错误还是只是警告?

我应该使用 git 存储库的特定哈希值吗?

感谢任何建议。

我通常构建和安装 DPDK(使用以下步骤),但您的步骤可能没问题,但我没有测试这些步骤。这就是我在 Ubuntu 20.10 上构建 pktgen 和 DPDK 的方式,如果你不能在你的系统上安装 DPDK 那么我的步骤将不起作用。

cd dpdk
meson build
ninja -C build
sudo ninja -C build install

然后构建 Pktgen。

cd ptkgen-dpdk
make rebuild

这些步骤在安装或自述文件中。我没有在 CentOS 上构建 pktgen,您的情况可能会有所不同。

rte_frag_table_XYZ 问题来自用于 API 版本控制的 DPDK 构建系统。实验性 API 可以在您的环境中禁用,但通常它们应该处于打开状态,除非您将它们关闭。在 DPDK 的某些系统包上,它们禁用了实验性 API,但您是从 DPDK.org 源代码构建的,应该不会有问题。

如果构建了 pktgen 二进制文件,那么它应该可以工作,是否构建了二进制文件?

谢谢