Ошибка при конфигурации dpkg – ОШИБКА (dkms apport): бинарный пакет для evdi: 1.12.0 не найден

Вопрос или проблема

У меня установлена Ubuntu 24.04, и я запускаю sudo dpkg –configure -a, и получаю следующую ошибку

ОШИБКА (dkms apport): двоичный пакет для evdi: 1.12.0 не найден
Ошибка! Неправильный код возврата при сборке модуля для ядра: 6.8.0-47-generic (x86_64)
Консультируйтесь с /var/lib/dkms/evdi/1.12.0/build/make.log для получения дополнительной информации.
dkms autopinstall на 6.8.0-47-generic/x86_64 прошел успешно для nvidia
dkms autopinstall на 6.8.0-47-generic/x86_64 завершился неудачей для evdi(10)
Ошибка! Один или несколько модулей не удалось установить во время автозагрузки.
Обратитесь к предыдущим ошибкам для получения дополнительной информации.
 * dkms: автозагрузка для ядра 6.8.0-47-generic
   ...не удалось

И в make.log первая ошибка, которую я замечаю, это

# cmd_gen_objtooldep /var/lib/dkms/evdi/1.12.0/build/evdi_params.o
   { echo ; echo '/var/lib/dkms/evdi/1.12.0/build/evdi_params.o: $(wildcard ./tools/objtool/objtool)' ; } >> /var/lib/dkms/evdi/1.12.0/build/.evdi_params.o.cmd
# cmd_gen_symversions_c /var/lib/dkms/evdi/1.12.0/build/evdi_params.o
  if nm /var/lib/dkms/evdi/1.12.0/build/evdi_params.o 2>/dev/null | grep -q ' __export_symbol_'; then gcc-13 -E -D__GENKSYMS__ -Wp,-MMD,/var/lib/dkms/evdi/1.12.0/build/.evdi_params.o.d -nostdinc -I./arch/x86/include -I./arch/x86/include/generated  -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -I./ubuntu/include -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -std=gnu11 -fshort-wchar -funsigned-char -fno-common -fno-PIE -fno-strict-aliasing -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -mharden-sls=all -fpatchable-function-entry=16,16 -fno-delete-null-pointer-checks -O2 -fno-allow-store-data-races -fstack-protector-strong -fno-omit-frame-pointer -fno-optimize-sibling-calls -ftrivial-auto-var-init=zero -fno-stack-clash-protection -fzero-call-used-regs=used-gpr -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -falign-functions=16 -fstrict-flex-arrays=3 -fno-strict-overflow -fno-stack-check -fconserve-stack -Wall -Wundef -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Werror=strict-prototypes -Wno-format-security -Wno-trigraphs -Wno-frame-address -Wno-address-of-packed-member -Wmissing-declarations -Wmissing-prototypes -Wframe-larger-than=1024 -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-dangling-pointer -Wvla -Wno-pointer-sign -Wcast-function-type -Wno-stringop-overflow -Wno-array-bounds -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wenum-conversion -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-restrict -Wno-packed-not-aligned -Wno-format-overflow -Wno-format-truncation -Wno-stringop-truncation -Wno-override-init -Wno-missing-field-initializers -Wno-type-limits -Wno-shift-negative-value -Wno-maybe-uninitialized -Wno-sign-compare -g -gdwarf-5 -Iinclude/drm  -fsanitize=bounds-strict -fsanitize=shift -fsanitize=bool -fsanitize=enum  -DMODULE  -DKBUILD_BASENAME='"evdi_params"' -DKBUILD_MODNAME='"evdi"' -D__KBUILD_MODNAME=kmod_evdi /var/lib/dkms/evdi/1.12.0/build/evdi_params.c | scripts/genksyms/genksyms   -r /dev/null >> /var/lib/dkms/evdi/1.12.0/build/.evdi_params.o.cmd; fi
В файле включения /var/lib/dkms/evdi/1.12.0/build/evdi_gem.c:24:
/var/lib/dkms/evdi/1.12.0/build/evdi_drm_drv.h:29:10: фатальная ошибка: drm/drm_legacy.h: Такой файл или каталог не существует
   29 | #include <drm/drm_legacy.h>
      |          ^~~~~~~~~~~~~~~~~~
компиляция прервана.

Если я не хочу переустанавливать свою ОС, какие у меня есть варианты для исправления этого?

Ответ или решение

Ошибка, с которой вы столкнулись при выполнении команды sudo dpkg --configure -a, указывает на проблему с установкой модуля DKMS (Dynamic Kernel Module Support) для evdi, который является драйвером для виртуальных мониторов и использует поддержку динамических модулей ядра. Давайте разберем детали и предложим возможные решения.

Возможные причины ошибки

  1. Отсутствие бинарного пакета: Сообщение говорит о том, что бинарный пакет для evdi: 1.12.0 не найден. Это может быть связано с тем, что модуль не был правильно установлен или с необходимостью его пересборки под вашу текущую версию ядра (6.8.0-47-generic).

  2. Недостаточные зависимости: Для успешной компиляции драйвера могут отсутствовать необходимые заголовочные файлы (например, drm/drm_legacy.h), что также может привести к сбоям в сборке модуля.

  3. Несоответствие версий: Некоторые модули могут не поддерживать новейшие версии ядра, и возможно, что версия 1.12.0 evdi не совместима с вашим текущим ядром Linux.

Шаги по устранению ошибки

1. Установка зависимостей

Убедитесь, что у вас установлены все необходимые пакеты для сборки:

sudo apt update
sudo apt install build-essential linux-headers-$(uname -r) dkms

2. Пересборка модуля evdi

Поскольку dkms не может найти бинарный пакет, попробуйте пересобрать модуль evdi. Для этого выполните следующие команды:

sudo dkms remove evdi/1.12.0 --all
sudo dkms add evdi/1.12.0
sudo dkms build evdi/1.12.0
sudo dkms install evdi/1.12.0

Проверьте, нет ли ошибок во время этих операций.

3. Проверка логов сборки

Если возникают ошибки, внимательно изучите лог файл, указанный в вашем сообщении об ошибке. В логах по адресу /var/lib/dkms/evdi/1.12.0/build/make.log вы можете найти более детальную информацию о том, что пошло не так при компиляции. Обратите внимание на строки с "fatal error".

4. Обновление или переустановка evdi

Если предыдущие шаги не сработали, возможно, имеет смысл обновить версию модуля evdi. Вы можете скачать более новую версию из репозитория GitHub или использовать пакетный менеджер:

sudo apt install --reinstall evdi

Если установлено несколько версий evdi, проверьте и удалите старые версии, чтобы избежать конфликта.

5. Обратитесь за поддержкой

Если вы продолжаете сталкиваться с трудностями, возможно, стоит обратиться к сообществу Ubuntu или разработчикам evdi. Можно создать новый вопрос на форумах, предоставив подробности о ваших действиях и сообщениях об ошибках.

Заключение

Ваша проблема может быть решена с помощью управления пакетом DKMS и обновления необходимых зависимостей. Следуя указанным шагам, вы сможете устранить ошибку и продолжить использовать вашу систему без необходимости переустановки. Если у вас останутся вопросы или проблемы, не стесняйтесь обращаться за помощью к сообществу.

Оцените материал
Добавить комментарий

Капча загружается...