DPDK v20.05编译报错:/build目录找不到.config文件求助
DPDK v20.05编译helloworld时.config文件缺失问题解决
问题原因
DPDK v20.05采用meson+ninja作为默认构建系统,传统的.config文件不再自动生成在build目录中;而示例程序的Makefile仍依赖该文件读取编译配置变量,同时你设置的RTE_TARGET=build与meson安装后的路径不匹配,导致Makefile找不到配置文件。
解决方法
方法一:用meson构建示例程序(推荐,适配新版本构建流程)
- 进入helloworld目录:
cd /home/cxx/dpdk-20.05/examples/helloworld - 初始化meson构建目录:
meson build - 编译程序:
ninja -C build - 运行生成的可执行文件:
./build/helloworld
方法二:适配传统Makefile构建流程
方案1:调整RTE_TARGET环境变量
meson执行ninja install后,配置文件会被安装到prefix指定目录的子路径下(x86_64架构一般为lib/x86_64-linux-gnu/dpdk/20.05),重新设置环境变量后即可让Makefile找到配置:
export RTE_TARGET=x86_64-linux-gnu/dpdk/20.05 cd /home/cxx/dpdk-20.05/examples/helloworld make
方案2:手动生成.config文件
meson构建后的配置信息存储在build/rte_build_config.h中,可从中提取内容生成.config:
- 进入DPDK的build目录:
cd /home/cxx/dpdk-20.05/build - 生成.config文件:
sed -n 's/#define RTE_\(.*\) \(.*\)/CONFIG_RTE_\1=\2/p' rte_build_config.h > .config - 回到helloworld目录执行make:
cd ../examples/helloworld make
内容的提问来源于stack exchange,提问作者xuxing chen
相关产品推荐
相关产品推荐

