When I type the command service vboxdrv setup in my CentOS 7 terminal, I get the following error:
Your kernel headers for kernel 3.10.0-229.el7.x86_64 cannot be found How can I resolve this error?
When I open the log file by typing vi /var/log/vbox-install.log, the contents are:
Uninstalling modules from DKMS removing old DKMS module vboxhost version 5.0.4 ------------------------------ Deleting module version: 5.0.4 completely from the DKMS tree. ------------------------------ Done. Attempting to install using DKMS Creating symlink /var/lib/dkms/vboxhost/5.0.4/source -> /usr/src/vboxhost-5.0.4 DKMS: add completed. Failed to install using DKMS, attempting to install without Makefile:185: *** Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make again. Stop. The error is happening in the process of installing VirtualBox 5.0.4 using the instructions from this tutorial. To summarize, so far, I have:
vi /etc/yum.repos.d/virtualbox.repo Add the following text, then save and exit:
[virtualbox] name=Oracle Linux / RHEL / CentOS-$releasever / $basearch - VirtualBox baseurl=http://download.virtualbox.org/virtualbox/rpm/el/$releasever/$basearch enabled=1 gpgcheck=1 gpgkey=http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc Then at command prompt type:
# rpm -Uvh http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/7/x86_64/e/epel-release-7-5.noarch.rpm # yum install gcc make patch dkms qt libgomp # yum install kernel-headers kernel-devel fontforge binutils glibc-headers glibc-devel ... Complete! # cd /usr/src/kernels # ls -al total 12 drwxr-xr-x. 3 root root 4096 Sep 25 16:14 . drwxr-xr-x. 4 root root 4096 Sep 25 14:17 .. drwxr-xr-x. 22 root root 4096 Sep 25 16:14 3.10.0-229.14.1.el7.x86_64 # export KERN_DIR=/usr/src/kernels/3.10.0-229.14.1.el7.x86_64 # yum install VirtualBox-5.0 ... Complete! # service vboxdrv setup Stopping VirtualBox kernel modules [ OK ] Uninstalling old VirtualBox DKMS kernel modules [ OK ] Removing old VirtualBox pci kernel module [ OK ] Removing old VirtualBox netadp kernel module [ OK ] Removing old VirtualBox netflt kernel module [ OK ] Removing old VirtualBox kernel module [ OK ] Trying to register the VirtualBox kernel modules using DKMSError! echo Your kernel headers for kernel 3.10.0-229.el7.x86_64 cannot be found at /lib/modules/3.10.0-229.el7.x86_64/build or /lib/modules/3.10.0-229.el7.x86_64/source. [FAILED] (Failed, trying without DKMS) Recompiling VirtualBox kernel modules [FAILED] (Look at /var/log/vbox-install.log to find out what went wrong) See above for contents of vi /var/log/vbox-install.log
Out of curiousity, I looked in /lib/modules/ and found the following:
[root@localhost kernels]# cd /lib/modules [root@localhost modules]# ls -al total 16 drwxr-xr-x. 4 root root 4096 Sep 25 15:58 . dr-xr-xr-x. 30 root root 4096 Sep 25 16:23 .. drwxr-xr-x. 7 root root 4096 Sep 25 15:59 3.10.0-229.14.1.el7.x86_64 drwxr-xr-x. 8 root root 4096 Sep 25 16:24 3.10.0-229.el7.x86_64 As per @EricRenouf's advice, I typed uname -a, and the terminal replied with:
Linux localhost.localdomain 3.10.0-229.el7.x86_64 #1 SMP Fri Mar 6 11:36:42 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux I have not rebooted the machine, but the tutorial did not say to reboot.
uname -ashow3.10.0-229.el7.x86_64or3.10.0-229.14.1.el7.x86_64? I'm guessing it's the former, but yum installed the headers for the latter.