Carlos Cordero – Blog

I've got faith to believe I can do anything

VMware y Ubuntu Hardy 8.04 (Beta)

Publicado por ccorderor on Mar 31st, 2008 | Filed under: Linux, Software

Y muchos dirán… “esto te pasa por actualizar a una versión beta de Ubuntu”… pues si, tienen razón, dpero yo que le voy a hacer… ¡Nadie es Perfecto!

Bueno, entremos en materia. Para aquellas personas que no lo sepan, VMware es una solución de virtualización de máquinas virtuales. ¿Y que es eso? Nada que la Wikipedia no sepa. Por intentar explicarlo facilmente, a través de VMware podemos ejecutar varios sistemas operativos en una misma máquina… a la vez.

En mi caso, desde un equipo con Ubuntu 7.10 utilizo VMware para la ejecución de un par de máquinas virtuales de forma habitual (una con Windows XP y otra con un sistema de monitorización de red y firewall) y algunas que utilizo para hacer pruebas (por ejemplo, ejecutar un software “extraño” en Windows). VMware, para funcionar, inserta un módulo en el kernel de Linux, y cuando no tiene un módulo “pre-compilado” para esa versión, intenta compilar uno. Es el caso del uso con Ubuntu 7.10.

Hace un par de días se me ocurrió la magnífica idea de actualizar el equipo a Ubuntu 8.04 (Hardy), la nueva versión de Ubuntu, todavía beta (es decir, en pruebas). Todo fué bien hasta que al reiniciar me di cuenta de que tenía que volver a compilar el módulo para la nueva versión del kernel que viene con Hardy (2.6.24).

Lamentablemente, cuando ejecuté la herramienta vmware-config.pl y se dispuso a compilar el módulo, llegué a un “lindo” error que me hizo temblar.

None of the pre-built vmmon modules for VMware 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-12-generic/build/include]

Extracting the sources of the vmmon module.

Building the vmmon module.

Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config2/vmmon-only'
make -C /lib/modules/2.6.24-12-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.24-12-generic'
CC [M] /tmp/vmware-config2/vmmon-only/linux/driver.o
CC [M] /tmp/vmware-config2/vmmon-only/linux/hostif.o
CC [M] /tmp/vmware-config2/vmmon-only/common/comport.o
CC [M] /tmp/vmware-config2/vmmon-only/common/cpuid.o
In file included from include/asm/bitops.h:2,
from /tmp/vmware-config2/vmmon-only/./include/vcpuset.h:74,
from /tmp/vmware-config2/vmmon-only/./include/modulecall.h:23,
from /tmp/vmware-config2/vmmon-only/common/vmx86.h:18,
from /tmp/vmware-config2/vmmon-only/common/hostif.h:18,
from /tmp/vmware-config2/vmmon-only/common/cpuid.c:14:
include/asm/bitops_32.h:9:2: error: #error only can be included directly
make[2]: *** [/tmp/vmware-config2/vmmon-only/common/cpuid.o] Error 1
make[1]: *** _module_/tmp/vmware-config2/vmmon-only Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.24-12-generic'
make: *** http://vmmon.ko Error 2
make: Leaving directory `/tmp/vmware-config2/vmmon-only'
Unable to build the vmmon module.

Unable to build the vmmon module, que desagradable, ¿verdad? El error parecía claro, la inclusión del fichero “asm/bitops.h”. Después de varias pruebas pensé que tendría que guardar las VM’s, reinstalar Ubuntu 7.10 y volver a compilar… pero por suerte, en el último momento, encontré una solución que parece funcionar muy bien.


1. Descomprimimos /usr/lib/vmware/modules/source/vmmon.tar en /tmp
2. Editamos vmmon-only/include/vcpuset.h
En la linea 74 cambiamos "asm/bitops.h" a "linux/bitops.h"
3. Guardamos el fichero
4. Ejecutamos: tar cvf vmmon.tar vmmon-only
5. Ejecutamos: mv /usr/lib/vmware/modules/source/vmmon.tar /usr/lib/vmware/modules/source/vmmon.tar.orig
5. Ejecutamos: cp vmmon.tar /usr/lib/vmware/modules/source

Y volvemos a ejecutar vmware-config.pl

Después de esto, todo funcionará bien.

Un saludito ;)

Comparte este post

¡Tutea este post! ¡Menea este post! ¡Envía este post a Chido.com! ¡Envía este post a DeChiste.com! ¡Acelera este post! ¡Enchila este post! ¡Envía este post a foroabierto.com! ¡Masca este post! ¡Rankea este post! ¡florea este post!

29 Responses to “VMware y Ubuntu Hardy 8.04 (Beta)”

  1. Hola Carlos, mirá justamente acabo de tener este problema tras actualizar kernel en Slackware. te agradezco el post y postearé el fix (haciendo referencia a tu post, claro) en nuestro blog!

    Gracias!!!

  2. Gracias!, funciona de PM en hardy 2.6.24-16 de ubuntu.

    Thanks. works great in hardy.

  3. Me alegro muchísimo :)

    Un saludo

  4. Hola, como andas?? estoy en la misma.. pero creo q tengo un par de errores más… yo intale hardy heron con el cd de una… porque era una notebook nueva.. y bueno… hace unos dias q estoy con lo de la vmware.. te paso mi error para ver si me podes ayudar…

    Using 2.6.x kernel build system.
    make: Entering directory `/tmp/vmware-config2/vmmon-only’
    make -C /lib/modules/2.6.24-12-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
    make[1]: Entering directory `/usr/src/linux-headers-2.6.24-12-generic’
    CC [M] /tmp/vmware-config2/vmmon-only/linux/driver.o
    In file included from /tmp/vmware-config2/vmmon-only/./include/vmware.h:25,
    from /tmp/vmware-config2/vmmon-only/linux/driver.c:48:
    /tmp/vmware-config2/vmmon-only/./include/vm_basic_types.h:161: error: conflicting types for ‘uintptr_t’
    include/linux/types.h:40: error: previous declaration of ‘uintptr_t’ was here
    In file included from /tmp/vmware-config2/vmmon-only/linux/driver.h:20,
    from /tmp/vmware-config2/vmmon-only/linux/driver.c:49:
    /tmp/vmware-config2/vmmon-only/./include/compat_wait.h:37:5: warning: “VMW_HAVE_EPOLL” is not defined
    /tmp/vmware-config2/vmmon-only/./include/compat_wait.h:43:5: warning: “VMW_HAVE_EPOLL” is not defined
    In file included from /tmp/vmware-config2/vmmon-only/linux/driver.h:20,
    from /tmp/vmware-config2/vmmon-only/linux/driver.c:49:
    /tmp/vmware-config2/vmmon-only/./include/compat_wait.h:60: error: conflicting types for ‘poll_initwait’
    include/linux/poll.h:65: error: previous declaration of ‘poll_initwait’ was here
    /tmp/vmware-config2/vmmon-only/linux/driver.c:147: warning: initialization from incompatible pointer type
    /tmp/vmware-config2/vmmon-only/linux/driver.c:151: warning: initialization from incompatible pointer type
    /tmp/vmware-config2/vmmon-only/linux/driver.c: In function ‘LinuxDriver_Ioctl’:
    /tmp/vmware-config2/vmmon-only/linux/driver.c:1659: error: ‘struct mm_struct’ has no member named ‘dumpable’
    make[2]: *** [/tmp/vmware-config2/vmmon-only/linux/driver.o] Error 1
    make[1]: *** [_module_/tmp/vmware-config2/vmmon-only] Error 2
    make[1]: Leaving directory `/usr/src/linux-headers-2.6.24-12-generic’
    make: *** [vmmon.ko] Error 2
    make: Leaving directory `/tmp/vmware-config2/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.

  5. Hola otra vez.. seguí intentando toda la noche y lo solucione con el update-any-any-115… ahi me tiro exactamente el error q vos explicas arriba y cuando cambie asm por linux.. anduvo joya.. muchas gracias..

    slds desde argentina…

  6. genial.

    justamente hize el upgrade ayer a hardy y he encontrado solución fácil :D

  7. [...] se encuentra en otra carpeta asi que te recomiendo leer el blog de Carlos Cordero y su post VMware y Ubuntu 8.04 (Beta) que es la lectura donde me base para solucionar [...]

  8. ¡Gracias! Realmente me resolviste un problemón.

  9. me paso igual que a ti, pero como tenia decidido emigrar a VirtualBox a la primera oportunidad… llevo dos dias con el. Y ahora, maldita sea, me entra el gusanillo de probar tu solucion ! :-)

  10. 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

  11. Buen parcho, me funcionó con el upgrade a Hardy. Gracias.

  12. Muchísimas gracias, me funcionó a la perfección, la primera web (después de visitar muchas creeme) que funciona!

    ;) Un saludo y un abrazo!

  13. Muchas gracias!! Suerte que hay gente como tu que se dedica a publicar sus resultados!!!

  14. Funciona Chido…je je je

  15. Eres un fenómeno….
    Muchas gracias

  16. Cojonudo!!! ups! ese lenguaje!!! Bien tio, te lo has currao

    Saludos

  17. Me estaba rompiendo la cabeza tratando de entender porqué no me funcionaba al actualizar a Hardy. Apunté el error, busqué en Google (ubuntu+bitops.h) y me salió tu página -acabo de ponerla en mis marcadores-. Un millón de gracias, Carlos. Tu Blog es fantástico, sigue así.

  18. Hola, me pase tambien a ubuntu hardy 8.04 pero……me quede sin vmware que funcionava de perlas en el 7.10

    Me sale un error muy parecido al de PAblo:

    Building the vmmon module.

    Using 2.6.x kernel build system.
    make: Entering directory `/tmp/vmware-config4/vmmon-only’
    make -C /lib/modules/2.6.24-16-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
    make[1]: Entering directory `/usr/src/linux-headers-2.6.24-16-generic’
    CC [M] /tmp/vmware-config4/vmmon-only/linux/driver.o
    In file included from /tmp/vmware-config4/vmmon-only/./include/vmware.h:25,
    from /tmp/vmware-config4/vmmon-only/linux/driver.c:48:
    /tmp/vmware-config4/vmmon-only/./include/vm_basic_types.h:161: error: conflicting types for ‘uintptr_t’
    include/linux/types.h:40: error: previous declaration of ‘uintptr_t’ was here
    En el fitxer inclòs dès de /tmp/vmware-config4/vmmon-only/linux/driver.h:20,
    dès de /tmp/vmware-config4/vmmon-only/linux/driver.c:49:
    /tmp/vmware-config4/vmmon-only/./include/compat_wait.h:37:5: avís: “VMW_HAVE_EPOLL” no és definit
    /tmp/vmware-config4/vmmon-only/./include/compat_wait.h:43:5: avís: “VMW_HAVE_EPOLL” no és definit
    In file included from /tmp/vmware-config4/vmmon-only/linux/driver.h:20,
    from /tmp/vmware-config4/vmmon-only/linux/driver.c:49:
    /tmp/vmware-config4/vmmon-only/./include/compat_wait.h:60: error: conflicting types for ‘poll_initwait’
    include/linux/poll.h:65: error: previous declaration of ‘poll_initwait’ was here
    /tmp/vmware-config4/vmmon-only/linux/driver.c:147: avís: initialization from incompatible pointer type
    /tmp/vmware-config4/vmmon-only/linux/driver.c:151: avís: initialization from incompatible pointer type
    /tmp/vmware-config4/vmmon-only/linux/driver.c: In function ‘LinuxDriver_Ioctl’:
    /tmp/vmware-config4/vmmon-only/linux/driver.c:1659: error: ‘struct mm_struct’ has no member named ‘dumpable’
    make[2]: *** [/tmp/vmware-config4/vmmon-only/linux/driver.o] Error 1
    make[1]: *** [_module_/tmp/vmware-config4/vmmon-only] Error 2
    make[1]: Leaving directory `/usr/src/linux-headers-2.6.24-16-generic’
    make: *** [vmmon.ko] Error 2
    make: Leaving directory `/tmp/vmware-config4/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.

    Pero que quieres decir que lo solucionaste con el update-any-any-115 que hiciste? que es este update?

    a ver si me podeis echar un cable.graciiassss!!!!

  19. Hola, muchas gracias por la información.
    Ahora tengo el siguiente problema. Tenía una máquina virtual desde antes y como actualicé el vmmon ahora no quiere arrancar esa máquina ¿existe solución a eso?

  20. Carles,

    El vmware-any-any-update115 lo podes bajar desde el siguiente URL:

    http://knihovny.cvut.cz/ftp/pub/vmware/

    Yo tenia el mismo problema y lo solucioné con ese patch más la solución que detallan en ésta página con respecto al bitops.h

    Suerte!

    Gracias Carlos por tu ayuda subiendo ésta información a tu blog.

    Saludos desde Argentina!
    Gonzalo

  21. Hola, yo también me he encontrado con el problema de Carles, y he solucionado en parte esto mediante el vmware-any-any-115 descargado de http://platan.vc.cvut.cz/ftp/pub/vmware/ . Ahora me he encontrado con un problema nuevo, cómo no?…

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

    A ver si alguien puede ayudar, gracias de antemano y buen trabajo por el blog! :D .

  22. Ya encontré la solución a mi problema, la verdad que era sencillo :D

    Este es el error:

    gcc: error trying to exec ‘cc1plus’: execvp: No existe el fichero ó directorio

    Esta es la solución:

    sudo apt-get g++

    y arreglado :-)

    Venga, hasta luego

  23. Creo que se refiere a esto.
    http://communities.vmware.com/message/856979

  24. Hola

    Llevo 1 millon as o menos de pruebas intentando instalar el vmware 6.0.4 sobre ubuntu 8.04, y no hay manera. He probado hasta a volver atras e instalar la version que usaba en Gutsy, la workstation 6.0.2 y despues de todo esto, mi duda es…..
    Como desinstalo todo dejandolo limpio para volver a empezar de cero? Al final creo que voy a esperar a la update 118 porque no hay manera.. :-(

  25. Muchas gracias …..

  26. Gracias, desde Peru.

    Nota: en mi caso, el cambio tuve que hacerlo en la carpeta vmware-distrib que generamos al desempaquetar el instalador.

    Atte.

  27. Estos problemas tambien aplican a VMware workstation, yo en lo particular tuve que aplicar el parche de vmware-any-any115, solo que le hice el hack que aqui se menciona al archivo vcpuset.h que se genera de descomprimir vmmon.tar de la vmware-any-any115

  28. Hola, soy muy nuevo en esto y tengo el mismo problema que se detalla al prinicio… Pero no se bien que es lo que hacen…

    ¿me podrìan decir paso a paso la soluciona a este problema? Desde ya muchas gracias!

  29. Yo lo que hice fue:
    tar xvf vmware-any-any-update115.tar.gz
    cd vmware-any-any-update115
    tar xf vmmon.tar
    (Aquí cambia jed por tu editor favorito.)
    jed vmmon-only/include/vcpuset.h
    (Cambiamos la línea que dice el post.)

    tar cf vmmon.tar vmmon-only/
    sudo ./runme.pl

    ¡Y todo bien! :)

Leave a Reply