DPDK安装时出现<fatal error: rxp-compiler.h: 没有那个文件或目录>
DPDK安装时出现<fatal error: rxp-compiler.h: 没有那个文件或目录>
原因
参考这篇博客,由于服务器上安装了NVIDIA Blue-Field2 DPU,所以安装了DOCA开发套件,所以在meson配置文件时勾选了附带编译rxp-compiler这个库。
但是和原文描述不符的是服务器并没有删除DOCA,但是ninja在编译的过程中仍然无法找到这个库,出现这个错误:
解决方案
原博客阐述了一个可行的方式:彻底删除rxp-compiler库并重新配置,但是为了不影响DPU的正常使用,这显然是行不通的。
那么既然提到这个库是可选的,那么编译过程中实际上是不需要这个库,因此可以尝试修改源代码实现手动的删除进而成功编译,幸运的是源代码中仅有一处包含了这个头文件。
具体步骤如下:
-
找到包含这个头文件的代码:
../drivers/regex/cn9k/cn9k_regexdev_compiler.c
#ifdef REE_COMPILER_SDK_SET #include <rxp-compiler.h>
-
修改预定义为:
#ifdef REE_COMPILER_SDK_SET_NO_USE #include <rxp-compiler.h>
成功通过编译!