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

(да, глупо пробовать абсурдные абсолютные пути... но это от безысходности).

Затем я попытался использовать абсолютный путь... но был заменен на...

      ./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если я поставлю его в абсолютный путь.

С наилучшими пожеланиями.

0 ответов

Другие вопросы по тегам