构建 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 二进制文件,那么它应该可以工作,是否构建了二进制文件?
谢谢
我正在尝试使用 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 二进制文件,那么它应该可以工作,是否构建了二进制文件?
谢谢