Вопрос или проблема
Я использую Ubuntu 14.04.1 LTS
Кто-нибудь знает, как исправить эту ошибку dkms.conf?
dkms.conf: Ошибка! Не указана директива 'BUILT_MODULE_NAME' для записи #0.
Ошибка! Плохой конфигурационный файл.
Файл:
не представляет собой действительный файл dkms.conf.
Настройка linux-headers-generic (3.13.0.35.42) ...
Обработка триггеров для libc-bin (2.19-0ubuntu6.3) ...
$ dkms статус
bbswitch, 0.7, 3.13.0-34-generic, x86_64: установлен
bbswitch, 0.7, 3.13.0-35-generic, x86_64: установлен
nvidia-331-updates, 331.38, 3.13.0-34-generic, x86_64: установленdkms.conf: Ошибка! Не указана директива 'BUILT_MODULE_NAME' для записи #0.
Ошибка! Плохой конфигурационный файл.
Файл:
не представляет собой действительный файл dkms.conf.
nvidia-331-updates, 331.38, 3.13.0-35-generic, x86_64: установлен
$ ls -R /var/lib/dkms
/var/lib/dkms:
bbswitch dkms_dbversion nvidia-331-updates xpad
/var/lib/dkms/bbswitch:
0.7 kernel-3.13.0-34-generic-x86_64 kernel-3.13.0-35-generic-x86_64
/var/lib/dkms/bbswitch/0.7:
3.13.0-34-generic 3.13.0-35-generic build source
/var/lib/dkms/bbswitch/0.7/3.13.0-34-generic:
x86_64
/var/lib/dkms/bbswitch/0.7/3.13.0-34-generic/x86_64:
log module
/var/lib/dkms/bbswitch/0.7/3.13.0-34-generic/x86_64/log:
make.log
/var/lib/dkms/bbswitch/0.7/3.13.0-34-generic/x86_64/module:
bbswitch.ko
/var/lib/dkms/bbswitch/0.7/3.13.0-35-generic:
x86_64
/var/lib/dkms/bbswitch/0.7/3.13.0-35-generic/x86_64:
log module
/var/lib/dkms/bbswitch/0.7/3.13.0-35-generic/x86_64/log:
make.log
/var/lib/dkms/bbswitch/0.7/3.13.0-35-generic/x86_64/module:
bbswitch.ko
/var/lib/dkms/bbswitch/0.7/build:
bbswitch.c dkms.conf Makefile
/var/lib/dkms/nvidia-331-updates:
331.38 kernel-3.13.0-34-generic-x86_64 kernel-3.13.0-35-generic-x86_64
/var/lib/dkms/nvidia-331-updates/331.38:
3.13.0-34-generic 3.13.0-35-generic build source
/var/lib/dkms/nvidia-331-updates/331.38/3.13.0-34-generic:
x86_64
/var/lib/dkms/nvidia-331-updates/331.38/3.13.0-34-generic/x86_64:
log module
/var/lib/dkms/nvidia-331-updates/331.38/3.13.0-34-generic/x86_64/log:
make.log
/var/lib/dkms/nvidia-331-updates/331.38/3.13.0-34-generic/x86_64/module:
nvidia_331_updates.ko
/var/lib/dkms/nvidia-331-updates/331.38/3.13.0-35-generic:
x86_64
/var/lib/dkms/nvidia-331-updates/331.38/3.13.0-35-generic/x86_64:
log module
/var/lib/dkms/nvidia-331-updates/331.38/3.13.0-35-generic/x86_64/log:
make.log
/var/lib/dkms/nvidia-331-updates/331.38/3.13.0-35-generic/x86_64/module:
nvidia_331_updates.ko
/var/lib/dkms/nvidia-331-updates/331.38/build:
conftest.sh g_nvreadme.h nv-chrdev.c nv-frontend.c nv.h nv-memdbg.h nv-p2p.c nv-reg.h nv-vm.c os-registry.c rmretval.h
conftest.sh.orig Makefile nv.c.orig nv-frontend.h nv-i2c.c nv-mempool.c nv-p2p.h nvtypes.h nv-vtophys.c os-smp.c xapi-sdk.h
cpuopsys.h Makefile.orig nv-cray.c nv_gpu_ops.h nvidia-modules-common.mk nv-misc.h nv-pat.c nv-usermap.c os-interface.c os-usermap.c
dkms.conf nv-acpi.c nv-drm.c nvgputypes.h nv-kernel.o nv-mlock.c nv-procfs.c nv_uvm_interface.c os-interface.h patches
gcc-version-check.c nv.c nverror.h nv-gvi.c nv-linux.h nv-mmap.c nv-proto.h nv_uvm_interface.h os-pci.c rmil.h
/var/lib/dkms/nvidia-331-updates/331.38/build/patches:
allow_sublevel_greater_than_5.patch buildfix_kernel_3.11.patch buildfix_kernel_3.6.patch register-VT-switch-requirements.patch
buildfix_kernel_3.0.patch buildfix_kernel_3.13.patch buildfix_kernel_3.8.patch replace-VM_RESERVED-with-VM_DONTEXPAND-and-VM_DONTDU.patch
buildfix_kernel_3.10.patch buildfix_kernel_3.14.patch make-use-of-the-new-uapi-framework.patch
/var/lib/dkms/xpad:
0.1 kernel-3.13.0-34-generic-x86_64
/var/lib/dkms/xpad/0.1:
3.13.0-34-generic build source
/var/lib/dkms/xpad/0.1/3.13.0-34-generic:
x86_64
/var/lib/dkms/xpad/0.1/3.13.0-34-generic/x86_64:
log module
/var/lib/dkms/xpad/0.1/3.13.0-34-generic/x86_64/log:
make.log
/var/lib/dkms/xpad/0.1/3.13.0-34-generic/x86_64/module:
xpad.ko
/var/lib/dkms/xpad/0.1/build:
dkms.conf Makefile xpad.c
Сообщение об ошибке относится к файлу с именем dkms.conf.
Проверьте это:
Поиск файлов с таким именем:
sudo su
find dkms.conf
Убедитесь, что он соответствует nvidia.
Пример:
/var/lib/dkms/nvidia/331.38/build/dkms.conf
cat /var/lib/dkms/nvidia/331.38/build/dkms.conf
PACKAGE_NAME="nvidia"
PACKAGE_VERSION="331.38"
DEST_MODULE_LOCATION[0]="/updates"
AUTOINSTALL="yes"
Удалите пакет
sudo su
dpkg --purge nvidia-dkms
Ответ или решение
Конечно, давайте разберёмся с ошибкой, которую вы получаете при работе с dkms на Ubuntu 14.04.1 LTS. Ошибка, которую вы видите — «dkms.conf: Error! No ‘BUILT_MODULE_NAME’ directive specified for record #0. Error! Bad conf file.», говорит нам о том, что файл конфигурации dkms.conf не содержит обязательной директивы BUILT_MODULE_NAME
, что делает его недействительным. Давайте рассмотрим, как можно это исправить.
Шаг 1: Проверка содержимого dkms.conf
Первым делом, нужно проверить содержимое файла dkms.conf, который вызывает ошибку. Обычно этот файл находится в директории, соответствующей модулю, который вы устанавливаете. В вашем случае, вероятнее всего, это файл для bbswitch
или nvidia-331-updates
.
Выполните следующую команду для просмотра содержимого:
cat /var/lib/dkms/bbswitch/0.7/build/dkms.conf
Или, если вы работаете с nvidia, сделайте это:
cat /var/lib/dkms/nvidia-331-updates/331.38/build/dkms.conf
Вы должны увидеть строки, подобные этим:
PACKAGE_NAME="nvidia"
PACKAGE_VERSION="331.38"
DEST_MODULE_LOCATION[0]="/updates"
BUILT_MODULE_NAME="nvidia"
AUTOINSTALL="yes"
Важной строкой, которую следует выделить, является BUILT_MODULE_NAME
, которая обязана присутствовать.
Шаг 2: Исправление конфигурационного файла
Если вы не видите директиву BUILT_MODULE_NAME
в файле, вам необходимо либо добавить её вручную, либо связаться с разработчиком модуля для получения исправленного файла. Откройте файл в любом текстовом редакторе (например, nano
или vim
) и добавьте строку:
BUILT_MODULE_NAME="название_вашего_модуля"
Подставьте название_вашего_модуля
на фактическое название модуля, который вы пытаетесь установить (например, bbswitch
, nvidia
, и так далее).
Шаг 3: Переустановка DKMS
Если исправление файла конфигурации не помогает, попробуйте переустановить пакеты, которые вызывают ошибку. Например, для nvidia:
sudo apt-get purge nvidia-dkms
sudo apt-get install nvidia-dkms
Шаг 4: Проверка статуса DKMS
После исправления конфигурации или переустановки пакета проверьте статус DKMS, выполнив команду:
dkms status
Это должно вернуть список установленных модулей без ошибок. Если все правильно, вы увидите установленный модуль без ошибок конфигурации.
Заключение
Следуя указанным шагам, вы можете устранить ошибку, связанную с dkms.conf. Если ошибка продолжается, убедитесь, что все зависимости установлены и они совместимы с вашей версией ядра. Помните, что иногда может потребоваться обновление системы или изменения в конфигурации пакетов для достижения совместимости.
Если у вас возникнут дополнительные вопросы или проблемы, пожалуйста, не стесняйтесь обращаться за помощью. Удачи в работе с вашей системой!