I recently installed debian 8 on my machine, which went fine. When I tried to install the vmware player 2.5.5-328052 the vmware software complains about not being able to find the linux headers matching my running kernel. uname -r yields 3.16.0-4-686-pae.

So I installed the headers (and gcc) and here is how it looks:

olav@carina:~/Downloads$ ls -l /usr/src/
insgesamt 80024
drwxr-xr-x 2 root root     4096 Feb 28 19:43 linux-config-3.16
drwxr-xr-x 4 root root     4096 Mär  1 10:40 linux-headers-3.16.0-4-686-pae
drwxr-xr-x 4 root root     4096 Mär  1 10:40 linux-headers-3.16.0-4-common
lrwxrwxrwx 1 root root       24 Nov 22 20:32 linux-kbuild-3.16 -> ../lib/linux-kbuild-3.16
-rw-r--r-- 1 root root 81928908 Jan 17 20:41 linux-source-3.16.tar.xz

But still, vmware does not find the headers.

What am I doing wrong? What precisely is vmware looking for?

Thank you, Olav


1 Answer 1


The reason is that, in some versions of the Linux kernel, the version.h file needed by the VMware Tools installer have been relocated from /usr/src/linux-headers-$(uname -r)/include/linux to /usr/src/linux-headers-$(uname -r)/include/generated/uapi/linux, and the installer has not been updated to handle that.

The solution would be to create a symbolic link to version.h at the location where VMware Tools installer expects it.

ln -s /usr/src/linux-headers-$(uname -r)/include/generated/uapi/linux/version.h /usr/src/linux-headers-$(uname -r)/include/linux/version.h
  • Hm, initially the symbolic link couldn't be created, because on my system there is no /usr/src/linux-headers-$(uname -r)/include/linux folder. I created the folder manually and established the symlink, but it didn't help either.
    – olav
    Mar 1, 2016 at 10:34
  • The path to the kernel headers is: /usr/src/linux-headers-$(uname -r)/include
    – GAD3R
    Mar 1, 2016 at 10:52
  • Yes, that folder is there. But in that folder there was no linux folder, which I created in order to do the symlink you recommended. All of which didn't render the vmware kernel module installer any happier.
    – olav
    Mar 1, 2016 at 11:00
  • 1
    Before downloading kernel source, install dpkg-dev, which contains a suite of development tools needed to build Debian source packages: aptitude install install dpkg-dev THEN aptitude install build-essential THEN aptitude install linux-headers-$(uname -r)
    – GAD3R
    Mar 1, 2016 at 11:19
  • 1
    After creating this symlink, I ran bin/vmware-uninstall-tools.pl form the vmware-tools-distrib directory and re-ran vmware-install.pl. The install automatically detected the headers path as /lib/modules/$(uname -r)/build/include. Thank you! Oct 6, 2016 at 16:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .