When running through the installation of VMware Server 2 on an Ubuntu 8.10 x64 machine, I received the following error:

What is the location of the directory of C header files that match your running
kernel? [/usr/src/linux/include]

It seems the installer needs to compile a few things (vmmon, vmci, vsock and vmnet modules) and doesn’t have the neccesary C header files to do so, after faffing about I found out that you need to install the linux-headers package for your particular kernel version.

Find out your kernel version by running:

uname -r

Now search the apt-cache for the particular package that you need:

$ apt-cache search linux-headers-<your_kernel_version>

e.g.

$ apt-cache search linux-headers-2.6.27-9-generic

apt-get this package:

$ sudo apt-get install linux-headers-2.6.27-9-generic

It’ll install itself to:

/usr/src/linux-headers-2.6.27-9-generic

So in the VMware installer, enter:

/usr/src/linux-headers-2.6.27-9-generic/include

That’s it, if you’ve installed the correct package and pointed the installer to the correct location, it will be happy and compile a couple of things.

If it complains about “linux/version.h”, then you’ve installed the incorrect package for your kernel version, so go back and double check.