Para compilar los modulos de kernel de vmware necesitamos tener los keaders (linux-headers-server). En versiones modernas del kernel, puede que esto nos traiga problemas a la hora de compilar los módulos. Errores del estilo de:
En mi setup, tengo un enlace /usr/src/linux que apunta al directorio concreto /usr/src/linux-headers-version-que-uso. Adecualo a tu configuracion y version concreta.
The directory of kernel headers (version @@VMWARE@@ UTS_RELEASE) does not match your running kernel (version 2.6.35.24-server)
Si nos ocurre esto, deberemos localizar el archivo utsrelease.h, y añadir la linea que contiene a version.h
Clarifico las cosas. Metemos la linea define de /usr/src/linux-headers-2.6.35-24-server/include/generated/utsrelease.h
#define UTS_RELEASE "2.6.35-24-server"
en /usr/src/linux-headers-2.6.35-24-server/include/linux/version.h para que quede así:
#define LINUX_VERSION_CODE 132643 #define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c)) #define UTS_RELEASE "2.6.35-24-server"
Si volvemos a compilar nos encontraremos con un nuevo error, que dice:
“The path “/usr/src/linux/include” is a kernel header file directory, but it does not contain the file “linux/autoconf.h” as expected
Copiandolo a donde corresponde, solucionamos el tema:
cp /usr/src/linux-headers-2.6.35-24-server/include/generated/autoconf.h /usr/src/linux-headers-2.6.35-24-server/include/linux/