Проблемы со сборкой DPDK PktGen

Я пытаюсь собрать DPDK PktGen на Centos 7, используя gcc 4.8.5.

Я сделал «git clone» для dpdk и pktgen:

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?

Любые советы приветствуются.


person DavidA    schedule 07.04.2021    source источник


Ответы (1)


Обычно я собираю и устанавливаю DPDK (с шагами, описанными ниже), но ваши шаги могут быть в порядке, но я не проверял эти шаги. Вот как я собираю pktgen и DPDK на Ubuntu 20.10, если вы не можете установить DPDK в своей системе, мои шаги не будут работать.

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

Затем соберите Pktgen.

cd ptkgen-dpdk
make rebuild

Эти шаги находятся в файле INSTALL или README. Я не собирал pktgen на CentOS, ваш пробег может отличаться.

Проблемы с rte_frag_table_XYZ возникают из-за системы сборки DPDK для управления версиями API. Экспериментальные API-интерфейсы могут быть отключены в вашей среде, но обычно они должны быть включены, если только вы их не отключили. В некоторых системных пакетах DPDK они отключают экспериментальные API, но вы собираете из исходного кода DPDK.org, и это не должно быть проблемой.

Если бинарник pktgen собран, то он должен работать, был ли собран бинарник?

Спасибо

person Keith    schedule 07.04.2021
comment
Спасибо за вашу помощь. Внимательно следуя файлу INSTALL и пересобрав dpdk, я заработал. - person DavidA; 08.04.2021