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.

cd /tmp
wget http://uruz.org/files/vmware-any-any-update-116.tgz
tar -xvzf vmware-any-any-update116.tgz
cd vmware-any-any-update116
sudo ./runme.pl

Una vez compilados todos los módulos y reiniciado el servidor de VMWare la cosa no ha terminado del todo. Si se ejecuta la consola del servidor mediante el comando vmware recibiremos por consola cosas como las siguientes:

/usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_3.4' not found (required by /usr/lib32/libcairo.so.2)
/usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib32/libstdc++.so.6)
/usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_3.4' not found (required by /usr/lib32/libcairo.so.2)
/usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib32/libstdc++.so.6)
/usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_3.4' not found (required by /usr/lib32/libcairo.so.2)
/usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib32/libstdc++.so.6)

Y la ejecución se parará. Es lo que tiene los binarios compilados a fuego. Lo mejor que se puede hacer es enlazar simbólicamente las libgcc del equipo en el directorio donde vmware espera encontrarlas (/usr/lib/vmware/lib/):

sudo ln -sf /lib/libgcc_s.so.1 /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1
sudo ln -sf  /usr/lib/libpng12.so.0 /usr/lib/vmware/lib/libpng12.so.0/libpng12.so.0

Una vez hechos estos enlaces simbólicos debería funcionar la consola del servidor VMware y podemos acceder a las máquinas virtuales que tengamos en el sistema.

En los núcleos de 64 bits con el paquete ia32-libs desactualizado puede además haber más problemas con las bibliotecas gráficas del gtk para 32 bits. Para resolver el problema falta hacer unos cuantos enlaces simbólicos a las bibliotecas de 32 bits que vmware echa en falta o bien actualizar el paquete a la 2.2ubuntu10, que es lo más recomendable. En launchpad informan de que ya no hace falta hacer lo siguiente:

sudo ln -s /usr/lib32 /usr/l32
sudo sed -i -e 's/usr/lib/usr/l32/g' /usr/lib32/gtk-2.0/2.10.0/loader-files.d/libgtk2.0-0.loaders
sudo sed -i -e 's/usr/lib/usr/l32/g' /usr/lib32/libgdk_pixbuf-2.0.so.0.1200.9

Y efectivamente en el equipo recién actualizado a a 8.04 sin pasar por las versiones de prueba ni candidatas este último paso no hay que hacerlo.

Obtenido directamente desde los foros de Ubuntu.

22 thoughts on VMware server 1.0.5 y Ubuntu 8.04 Hardy Heron amd64

  1. INSTALAR VMWARE 6.5 EN UBUNTU 8.04

    1. Solo tienen que descargar la VMware 6.5 de la pagina oficial, http://www.vmware.com o de http://communities.vmware.com/community/beta/workstation6.5, hay esta la clave y todo para crear la maquina, recuerden vmplayer es gratis.

    2. Descomprime el comprimido en tu directorio de usuario, por consola entras en el directorio donde descomprimiste el vmware y ejecutamos sudo ./vmware-install.pl
    queda allgo asi: usuario@usuario-x:~/vmware-distrib$ sudo ./vmware-install.pl

    3 presiona enter a todo lo ke pregunte y lo encontraras instalado en: Aplicaciones –> herramientas del sistema

    espero que les sirva de algo, a se me olvido decir que esta version a pesar de ser una beta tiene mejoras exelentes como la con nueva configuracion de redes, trabaja un poco mas ligero (a mi parecer) ciao

    att: Louis

  2. Louis, lo que comentas es para VMWare Workstation, no para VMWare Server, aunque en esencia son lo mismo, VMware Workstation es de pago, mientras que la Server es gratuita. De hecho, creo que el parche de actualización vmware-any-any-update viene de alguna VMWare Workstation.

    Un saludo.

  3. Yo uso la 32bits, y cuando ejecuto runme.pl me da el mismos error.


    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.

    Unknown VMware Workstation 6.0.3 build 80004 detected. Building for Workstation 6.0.0.
    Using 2.6.x kernel build system.
    make: se ingresa al directorio `/tmp/vmware-config8/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-config8/vmmon-only/linux/driver.o
    CC [M] /tmp/vmware-config8/vmmon-only/linux/driverLog.o
    CC [M] /tmp/vmware-config8/vmmon-only/linux/hostif.o
    CC [M] /tmp/vmware-config8/vmmon-only/common/comport.o
    CC [M] /tmp/vmware-config8/vmmon-only/common/cpuid.o
    CC [M] /tmp/vmware-config8/vmmon-only/common/hash.o
    CC [M] /tmp/vmware-config8/vmmon-only/common/memtrack.o
    CC [M] /tmp/vmware-config8/vmmon-only/common/phystrack.o
    CC [M] /tmp/vmware-config8/vmmon-only/common/task.o
    gcc: error trying to exec ‘cc1plus’: execvp: No existe el fichero ó directorio
    make[2]: *** [/tmp/vmware-config8/vmmon-only/common/task.o] Error 1
    make[1]: *** [_module_/tmp/vmware-config8/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-config8/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.

    Estoy desesperado en la 7.10 iba perfecto, llevo 3 días con esto y no doy con la solución. A ver si veis algo que a mi se me escape.
    Muchas gracias.

  4. César, ¿qué producto de VMWare y versión estás usando exactamente? Por lo que veo te sale

    Unknown VMware Workstation 6.0.3 build 80004 detected. Building for Workstation 6.0.0.
    Using 2.6.x kernel build system.

    Me parece que no usas VMWare Server, sino la Workstation. En cualquier caso, ¿estás usando la última versión del software? Por lo que comentan por arriba, con la Workstation 6.5 no parece haber problemas, claro, que es una beta. Yo de todos modos uso las VMWare Server 1.0.x, no las Workstations. En esencia deberían compilar igual y adolecer de casi los mismos problemas al distribuirse los binarios compilados con bibliotecas antiguas. Prueba con las últimas versiones, que tendrán los módulos para el núcleo preparados para las últimas ramas del núcleo de Linux y prueba también a usar el any-any update. De la 7.10 a la 8.04 hay cambio de núcleo de la 2.6.22.x a la 2.6.24.x

  5. TheEfrit

    Gracias por tu respuesta ya te contare. Use la workstation al ver que con la server no había forma, y la beta 6.5 funciona aunque con algunos errores, pero la workstation no es la solucion (es de pago, solo 30 dias) ya te contare, ahora voy a probar si con las modificaciones echas por la 6.5 me funciona la server, ya estoy llegando a las soluciones chapuza, pero es lo que hay.

  6. Muy buena solución, funciona perfecto.

    ¿Como has conseguido resolverlo?Lo has visto en algun sitio, utilizas mucho vmware….

    Si no te importa voy a copiarte los pasos por si algun dia se pierde tu pagina tenerlos, claro esta manteniendo tu autoria.

    David

  7. David, todo tuyo, siempre que respetes la licencia, Creative Commons Attribution-NonCommercial-ShareAlike 2.5 Spain

    La solución vía Google buscando los errores de compilación. Por suerte hay mucha gente que tira de vmware sobre Ubuntu xD

  8. Por fin.
    Para que me funcionara tuve empezar instalando…

    sudo apt-get install build-essential linux-headers-`uname -r`
    sudo apt-get install xinetd

    Y con eso todo me funciono bien luego.

    Gracias otra vez.

  9. Hola:
    Me averguenza confesar que en mi caso la solucion era harto mas sencilla.
    Ocurrio que mi VMWARE dejo de funcionar y sospechaba un problema con la reciente instalacion de unas librerias.
    Lo que habia ocurrido era nada mas que en una actualizacion automatica de Fedora Core 8, el kernel cambio desde 2.6.24.7-92.fc8 a 2.6.25.4-10.fc8. A su vez eso -automaticamente tambien- actualizo el GRUB y ahora habia 2 posibilidades de iniciar el sistema. Acostumbrado como estaba a dejar iniciar el sistema, no habia notado que ahora el sistema partia con el nuevo kernel!
    Y eso fue todo, poner atencion a la partida, elegir el “antiguo” kernel, “reparar” usando vmware-config.pl y listo, “on the road again”. Linux sera muy simpatico pero a la par bastante enredado sobre todo cuando no eres experto sino simple usuario!
    Ojala esto sirva, la moraleja es que
    1. a veces la solucion es bastante mas simple que bajar e instalar un nuevo parche.
    2. hay que poner atencion a las cosas que se actualizan e instalan “automagicamente”. Tal vez crear un registro en Desktop con el nombre de lo que se instalo y la fecha, para no apelar a la memoria ni dejar todo en manos de la sospecha!

  10. Hola a todos, he seguido el hilo minuciosamente pero ufff no tengo manera de echar a andar vmware sobre mi ubuntu he probado ya mil tutoriales y posteado en muchos foros y nada siempre me quedo aqui

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

    Extracting the sources of the vmmon module.

    Building the vmmon module.

    Building for VMware Server 1.0.0.
    Using 2.6.x kernel build system.
    make: se ingresa al directorio `/tmp/vmware-config14/vmmon-only’
    make -C /usr/src/linux-headers-2.6.24-19-generic/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
    make[1]: se ingresa al directorio `/usr/src/linux-headers-2.6.24-19-generic’
    CC [M] /tmp/vmware-config14/vmmon-only/linux/driver.o
    In file included from /tmp/vmware-config14/vmmon-only/./include/vmware.h:25,
    from /tmp/vmware-config14/vmmon-only/linux/driver.c:52:
    /tmp/vmware-config14/vmmon-only/./include/vm_basic_types.h:160: error: tipos en conflicto para ‘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-config14/vmmon-only/linux/driver.h:20,
    de /tmp/vmware-config14/vmmon-only/linux/driver.c:53:
    /tmp/vmware-config14/vmmon-only/./include/compat_wait.h:37:5: aviso: “VMW_HAVE_EPOLL” no está definido
    /tmp/vmware-config14/vmmon-only/./include/compat_wait.h:43:5: aviso: “VMW_HAVE_EPOLL” no está definido
    In file included from /tmp/vmware-config14/vmmon-only/linux/driver.h:20,
    from /tmp/vmware-config14/vmmon-only/linux/driver.c:53:
    /tmp/vmware-config14/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-config14/vmmon-only/linux/driver.c:160: aviso: inicialización desde un tipo de puntero incompatible
    /tmp/vmware-config14/vmmon-only/linux/driver.c:164: aviso: inicialización desde un tipo de puntero incompatible
    /tmp/vmware-config14/vmmon-only/linux/driver.c: En la función ‘__LinuxDriver_Ioctl’:
    /tmp/vmware-config14/vmmon-only/linux/driver.c:1833: error: ‘struct mm_struct’ no tiene un miembro llamado ‘dumpable’
    make[2]: *** [/tmp/vmware-config14/vmmon-only/linux/driver.o] Error 1
    make[1]: *** [_module_/tmp/vmware-config14/vmmon-only] Error 2
    make[1]: se sale del directorio `/usr/src/linux-headers-2.6.24-19-generic’
    make: *** [vmmon.ko] Error 2
    make: se sale del directorio `/tmp/vmware-config14/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.

    La ruta del kernel esta bien puesta, el parche ejecutado, pero no hay manera.
    Alguien me puede echar una mano estoy ya que me subo por las paredes

    Gracias a todos

  11. Pingback Keopx » VMware server workstation en Ubuntu Hardy 8.04

Deja un comentario