radeon_trace.h:尝试构建 radeon 模块时没有此文件或目录

radeon_trace.h:尝试构建 radeon 模块时没有此文件或目录

make 的完整错误信息:

    In file included from /home/huexxx/ubuntu-modules/linux-5.8.0/drivers/gpu/drm/radeon/radeon_trace.h:209,
                 from /home/huexxx/ubuntu-modules/linux-5.8.0/drivers/gpu/drm/radeon/radeon_trace_points.c:10:
./include/trace/define_trace.h:95:42: fatal error: ../../drivers/gpu/drm/radeon/radeon_trace.h: No existe el archivo o el directorio
   95 | #include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
      |                                          ^
compilation terminated.

我一直在努力追随修改、构建并将 radeon 模块插入到已构建的内核中,而不必像往常一样构建整个内核,以减少编译时间。

当我make -C /lib/modules/5.8.0-31-generic/build M=$(pwd)/drivers/gpu/drm/radeon modules从目录运行时会发生这种情况/home/huexxx/ubuntu-modules/linux-5.8.0

我已经搜索过此问题的解决方案,并且有类似问题的先例,如您所见这里。建议的解决方案是添加两个(在这种情况下根据路径深度) ../以更正radeon_trace.h要添加到的相对路径TRACE_INCLUDE_PATH,但它不适用于../添加的任何数量......我已经尝试了所有可能性......

./include/trace/define_trace.h:95:42: fatal error: ../../../../drivers/gpu/drm/radeon/radeon_trace.h: No existe el archivo o el directorio

./include/trace/define_trace.h:95:42: fatal error: ../../../../../drivers/gpu/drm/radeon/radeon_trace.h: No existe el archivo o el directorio

./include/trace/define_trace.h:95:42: fatal error: ../../../drivers/gpu/drm/radeon/radeon_trace.h: No existe el archivo o el directorio

./include/trace/define_trace.h:95:42: fatal error: ../drivers/gpu/drm/radeon/radeon_trace.h: No existe el archivo o el directorio

./include/trace/define_trace.h:95:42: fatal error: ./drivers/gpu/drm/radeon/radeon_trace.h: No existe el archivo o el directorio

./include/trace/define_trace.h:95:42: fatal error: drivers/gpu/drm/radeon/radeon_trace.h: No existe el archivo o el directorio

./include/trace/define_trace.h:95:42: fatal error: /drivers/gpu/drm/radeon/radeon_trace.h: No existe el archivo o el directorio

(是的,尝试无意义的绝对路径是愚蠢的......但这是由于绝望)。

然后,我尝试使用绝对路径......但linux被替换为1......

./include/trace/define_trace.h:95:42: fatal error: /home/huexxx/ubuntu-modules/1-5.8.0/drivers/gpu/drm/radeon/radeon_trace.h: No existe el archivo o el directorio

然后,最后的努力...我将 linux-5.8.0 文件夹重命名为 lin-5.8.0 以避免替换问题...最后它成功了!

LD [M]  /home/huexxx/ubuntu-modules/lin-5.8.0/drivers/gpu/drm/radeon/radeon.ko

嗯...发帖的目的是想知道:

  • 为什么编译不能直接工作,因为在路径上添加 ../../ 是对驱动程序代码的一个众所周知的补丁。

  • 为什么编译无法以任何方式修改相对路径......该文件应该存在于其中一种可能性中。

  • 如果我把它放在绝对路径中,为什么linux会被替换呢?1

此致。

相关内容