
Я получаю эту ошибку:
Makefile:181: *** Ошибка: не удалось найти исходники текущего ядра Linux. Укажите KERN_DIR= и снова запустите Make. Остановитесь.
В основном я делаю:
$ sudo /etc/init.d/vboxdrv setup
Removing existing VirtualBox non-DKMS kernel modules [ OK ]
Building the VirtualBox Guest Additions kernel modules
The headers for the current running kernel were not found. If the following
module compilation fails then this could be the reason.
The missing package can be probably installed with
yum install kernel-devel-2.6.32-573.18.1.el6.x86_64
Building the main Guest Additions module [FAILED]
(Look at /var/log/vboxadd-install.log to find out what went wrong)
И ошибка:
Makefile:181: *** Ошибка: не удалось найти исходники текущего ядра Linux. Укажите KERN_DIR= и запустите Make снова. Остановить
Что это за ошибка и как ее исправить?
решение1
Обязательно установите пакет заголовков ядра.
http://www.cyberciti.biz/faq/howto-install-kernel-headers-package
Make sure you have updated version
Type the following command
$ sudo apt-get update
OR as root user enter:
# apt-get update
Search for kernel version (optional)
Type the following command:
$ apt-cache search linux-headers-$(uname -r)
Install linux-header package under Debina or Ubuntu Linux
Type the following command:
$ sudo apt-get install linux-headers-$(uname -r)
OR as root user:
# apt-get install linux-headers-$(uname -r)
РЕДАКТИРОВАТЬ:
Мне просто нужно было установить его также на моем собственном сервере, и я получил ту же ошибку при попытке использовать virtualbox в репозиториях Debian. Я пошел дальше и добавил репозиторий VirtualBox и установил оттуда. Это лучше, потому что они более современные.
Как root
$ nano /etc/apt/sources.list
Добавьте строку ниже для сжатия
deb http://download.virtualbox.org/virtualbox/debian squeeze contrib non-free
Затем добавьте открытый ключ Oracle для apt-secure
$ wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -
затем запустите обновление и установите последнюю версию 4.2
apt-get update
apt-get install virtualbox-4.2
Установите пакет dkms, чтобы убедиться, что модули ядра хоста VirtualBox обновлены.
apt-get install dkms
Должно быть хорошо. Эти инструкции получены с сайта VirtualBox для Linux, который, похоже, сейчас не работает, но ссылка есть.https://www.virtualbox.org/wiki/Linux_Downloads
решение2
Как это исправить для Fedora/CentOS
Сначала убедитесь, что установленные вами пакеты (особенно ядро) обновлены:
$ sudo yum update
Если он обновит версию ядра, вам придется перезапустить его, чтобы uname -r
имя каталога совпадало с именем в /usr/src/kernels/
. Затем
$ sudo yum install kernel-devel gcc
$ echo export KERN_DIR=/usr/src/kernels/`uname -r` >> ~/.bashrc
$ source ~/.bashrc # to set the variable in your current shell
$ sudo echo $KERN_DIR # verify the value is set
$ sudo ls $KERN_DIR # verify the directory exists
После этого компиляция модулей ядра VirtualBox должна работать без проблем.
Источники:
решение3
@hhh Вам следует искать linux-headers
и находить только то, что подходит для вашей архитектуры. В моем случае:
# aptitude search linux-headers
v linux-headers -
p linux-headers-2.6-amd64 - Header files for Linux amd64 configuration (dummy package)
p linux-headers-3.2.0-4-all - All header files for Linux 3.2 (meta-package)
p linux-headers-3.2.0-4-all-amd64 - All header files for Linux 3.2 (meta-package)
i A linux-headers-3.2.0-4-amd64 - Header files for Linux 3.2.0-4-amd64
i A linux-headers-3.2.0-4-common - Common header files for Linux 3.2.0-4
p linux-headers-3.2.0-4-common-rt - Common header files for Linux 3.2.0-4-rt
p linux-headers-3.2.0-4-rt-amd64 - Header files for Linux 3.2.0-4-rt-amd64
i linux-headers-amd64 - Header files for Linux amd64 configuration (meta-package)
p linux-headers-rt-amd64 - Header files for Linux rt-amd64 configuration (meta-package)
Итак, в моем случае у меня 64-битная архитектура, мне нужно установить linux-headers-amd64
.
Другое дело, что apt-get add
не существует. Заменить apt-get
на apt-key
.
решение4
Пытаться:
yum install kernel* dkms gcc
Затем
yum install kernel-uek-devel
Затем перезагрузите машину.