
Estou recebendo este erro:
Makefile:181: *** Erro: não foi possível encontrar as fontes do seu kernel Linux atual. Especifique KERN_DIR= e execute Make novamente. Parar.
Basicamente estou fazendo:
$ 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)
E o erro é:
Makefile:181: *** Erro: não foi possível encontrar as fontes do seu kernel Linux atual. Especifique KERN_DIR= e execute Make novamente. Parar
O que é esse erro e como corrigi-lo?
Responder1
Certifique-se de instalar o pacote Kernel Headers.
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)
EDITAR:
Acontece que preciso instalá-lo também em meu próprio servidor e recebi o mesmo erro ao tentar usar o virtualbox em repositórios debian. Fui em frente e adicionei o repositório VirtualBox e instalei a partir daí. Isso é melhor porque eles estão mais atualizados.
Como raiz
$ nano /etc/apt/sources.list
Adicione linha abaixo para apertar
deb http://download.virtualbox.org/virtualbox/debian squeeze contrib non-free
Em seguida, adicione a chave pública Oracle para apt-secure
$ wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -
em seguida, execute a atualização e instale o 4.2 mais recente
apt-get update
apt-get install virtualbox-4.2
Instale o pacote dkms para garantir que os módulos do kernel do host VirtualBox estejam atualizados
apt-get install dkms
Deveria estar bom para ir. Recebi estas instruções do site do VirtualBox para Linux, que parece estar fora do ar no momento, mas o link éhttps://www.virtualbox.org/wiki/Linux_Downloads
Responder2
Como consertar isso no Fedora/CentOS
Primeiro certifique-se de que seus pacotes instalados (especialmente o kernel) estejam atualizados:
$ sudo yum update
Se atualizar a versão do kernel, você terá que reiniciar para que uname -r
corresponda ao nome do diretório em /usr/src/kernels/
. Então
$ 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
Após esta compilação, os módulos do kernel do VirtualBox devem funcionar sem problemas.
Fontes:
Responder3
@hhh Você deve pesquisar apenas linux-headers
e encontrar aquele que é bom para sua arquitetura. No meu caso:
# 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)
Então, no meu caso, tenho uma arquitetura de 64 bits, tenho que instalar o linux-headers-amd64
.
Outra coisa é que apt-get add
não existe. Substituir apt-get
por apt-key
.
Responder4
Tentar:
yum install kernel* dkms gcc
Então
yum install kernel-uek-devel
Então reinicie sua máquina