Cómo solucionar este problema para Fedora/CentOS

Cómo solucionar este problema para Fedora/CentOS

Recibo este error:

Makefile:181: *** Error: no se pueden encontrar las fuentes de su kernel de Linux actual. Especifique KERN_DIR= y ejecute Make nuevamente. Detener.

Básicamente estoy haciendo:

$ 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)

Y el error es:

Makefile:181: *** Error: no se pueden encontrar las fuentes de su kernel de Linux actual. Especifique KERN_DIR= y ejecute Make nuevamente. Detener

¿Qué es este error y cómo solucionarlo?

Respuesta1

Asegúrese de instalar el paquete de encabezados del kernel.

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:

Simplemente necesito instalarlo también en mi propio servidor y obtuve el mismo error al intentar usar virtualbox en repositorios de Debian. Continué y agregué el repositorio de VirtualBox y lo instalé desde allí. Esto es mejor porque están más actualizados.

Como raíz

$ nano /etc/apt/sources.list 

Agregue la línea a continuación para apretar

deb http://download.virtualbox.org/virtualbox/debian squeeze contrib non-free

Luego agregue la clave pública de Oracle para apt-secure

$ wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -

luego ejecute la actualización e instale la última versión 4.2

apt-get update
apt-get install virtualbox-4.2

Instale el paquete dkms para asegurarse de que los módulos del kernel del host de VirtualBox estén actualizados

apt-get install dkms

Debería estar listo para comenzar. Obtuve estas instrucciones del sitio web de VirtualBox para Linux que parece estar inactivo en este momento, pero el enlace eshttps://www.virtualbox.org/wiki/Linux_Downloads

Respuesta2

Cómo solucionar este problema para Fedora/CentOS

Primero asegúrese de que sus paquetes instalados (especialmente el kernel) estén actualizados:

$ sudo yum update     

Si actualiza la versión del kernel, tendrá que reiniciar para que uname -rcoincida con el nombre del directorio en /usr/src/kernels/. Entonces

$ 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 

Después de esto, la compilación de los módulos del kernel de VirtualBox debería funcionar sin ningún problema.

Fuentes:

Respuesta3

@hhh Debes buscar linux-headersy encontrar solo el adecuado para tu arquitectura. En mi 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)

Entonces, en mi caso, tengo una arquitectura de 64 bits, tengo que instalar linux-headers-amd64.

Otra cosa es que apt-get addno existe. Sustituir apt-getpor apt-key.

Respuesta4

Intentar:

yum install kernel* dkms gcc

Entonces

yum install kernel-uek-devel

Luego reinicie su máquina

información relacionada