OpenAuler系统编译vpp
1.vpp目录下执行make install-dep
修改Makefile,支持openAuler系统



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


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

把本地代码打包成压缩包,执行脚本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
浙公网安备 33010602011771号