OpenAuler系统编译vpp

1.vpp目录下执行make install-dep

修改Makefile,支持openAuler系统
image
image
image

2.vpp目录下执行make install-ext-dep

报错./src-dpdk/drivers/net/mlx5/linux/mlx5_ethdev_os.c:1687:42: error: invalid use of structure with flexible array member [-Werror=pedantic]

应用DPDK官方补丁
0001-net-mlx5-fix-the-building-with-flexible-array.patch
把补丁放到build\external\patches\dpdk_22.03目录下

3.vpp目录下执行make build

如果有warning,导致编译失败,可以修改CMakeLists
add_compile_options(-g -Werror -Wall)
修改为
add_compile_options(-g -Wall)

4.vpp目录下执行make pkg-rpm

报错build-root/rpmbuild/SPECS/'vpp.spec' error: parse error in expression: 0%{rhel} >= 7 error: ^ error: /home/dd/vpp/build-root/rpmbuild/SPECS/vpp.spec:50: bad %if condition: 0%{rhel} >= 7

修改extras/rpm/vpp.spec
image
image

编译rpm时,使用的代码是vpp git上代码,如何使用当前环境中的最新代码

修改Makefile
image

把本地代码打包成压缩包,执行脚本dist_vpp

#!/usr/bin/env bash

VERSION=22.06.1
DIST_SUBDIR=vpp-${VERSION}
DIST_FILE=build-root/${DIST_SUBDIR}-release.tar
BR=build-root

./src/scripts/version > ${BR}/.version

tar -cf ${DIST_FILE} \
    --exclude=*.tar \
    --transform="s,^,${DIST_SUBDIR}/," \
	-h \
    .

tar --append \
    --file ${DIST_FILE} \
    --transform="s,.*/.version,${DIST_SUBDIR}/src/scripts/.version," \
    ${BR}/.version

rm -f ${BR}/.version ${DIST_FILE}.xz
xz -v --threads=0 ${DIST_FILE}

rm -f ${BR}/vpp-latest.tar.xz
ln -rs ${DIST_FILE}.xz ${BR}/vpp-latest.tar.xz

然后再执行make pkg-rpm

posted @ 2026-08-07 11:20  亚欧刻布  阅读(1)  评论(0)    收藏  举报