VMware server 1.0.5 y Ubuntu 8.04 Hardy Heron amd64

Si usas VMware estarás acostumbrado a tener que reconfigurar sus módulos para el núcleo de linux cada vez que actualizas de núcleo. El cambio a la rama 2.6.24 en Ubuntu 8.04 Hardy Heron hace que VMware directamente no sea capaz de recompilar sus módulos. No obstante, existe solución.

Entrando en detalle, si intentamos un

sudo vmware-config.pl

Vamos a ver a la hora de compilar los módulos del núcleo algo como:

None of the pre-built vmmon modules for VMware Server is suitable for your
running kernel.  Do you want this program to try to build the vmmon module for
your system (you need to have a C compiler installed on your system)? [yes]
Using compiler "/usr/bin/gcc". Use environment variable CC to override.

What is the location of the directory of C header files that match your running
kernel? [/lib/modules/2.6.24-16-generic/build/include]

Extracting the sources of the vmmon module.

Building the vmmon module.

Using 2.6.x kernel build system.
make: se ingresa al directorio `/tmp/vmware-config0/vmmon-only'
make -C /lib/modules/2.6.24-16-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: se ingresa al directorio `/usr/src/linux-headers-2.6.24-16-generic'
CC [M]  /tmp/vmware-config0/vmmon-only/linux/driver.o
In file included from /tmp/vmware-config0/vmmon-only/./include/vmware.h:25,
from /tmp/vmware-config0/vmmon-only/linux/driver.c:48:
/tmp/vmware-config0/vmmon-only/./include/vm_basic_types.h:159: error: redefinición de la definición de tipo ‘uintptr_t’
include/linux/types.h:40: error: la declaración previa de ‘uintptr_t’ estaba aquí
En el fichero incluído de /tmp/vmware-config0/vmmon-only/linux/driver.h:20,
de /tmp/vmware-config0/vmmon-only/linux/driver.c:49:
/tmp/vmware-config0/vmmon-only/./include/compat_wait.h:37:5: aviso: "VMW_HAVE_EPOLL" no está definido
/tmp/vmware-config0/vmmon-only/./include/compat_wait.h:43:5: aviso: "VMW_HAVE_EPOLL" no está definido
In file included from /tmp/vmware-config0/vmmon-only/linux/driver.h:20,
from /tmp/vmware-config0/vmmon-only/linux/driver.c:49:
/tmp/vmware-config0/vmmon-only/./include/compat_wait.h:60: error: tipos en conflicto para ‘poll_initwait’
include/linux/poll.h:65: error: la declaración previa de ‘poll_initwait’ estaba aquí
/tmp/vmware-config0/vmmon-only/linux/driver.c:147: aviso: inicialización desde un tipo de puntero incompatible
/tmp/vmware-config0/vmmon-only/linux/driver.c:151: aviso: inicialización desde un tipo de puntero incompatible
/tmp/vmware-config0/vmmon-only/linux/driver.c: En la función ‘LinuxDriver_Ioctl’:
/tmp/vmware-config0/vmmon-only/linux/driver.c:1659: error: ‘struct mm_struct’ no tiene un miembro llamado ‘dumpable’
make[2]: *** [/tmp/vmware-config0/vmmon-only/linux/driver.o] Error 1
make[1]: *** [_module_/tmp/vmware-config0/vmmon-only] Error 2
make[1]: se sale del directorio `/usr/src/linux-headers-2.6.24-16-generic'
make: *** [vmmon.ko] Error 2
make: se sale del directorio `/tmp/vmware-config0/vmmon-only'
Unable to build the vmmon module.

For more information on how to troubleshoot module-related problems, please
visit our Web site at "http://www.vmware.com/download/modules/modules.html" and
"http://www.vmware.com/support/reference/linux/prebuilt_modules_linux.html".

Execution aborted.

Para resolver el problema lo que hay que usar es la utilidad vmware-any-any-update.

Continue reading