Actualización de Ubuntu 17.10 Broke VMWare Workstation 12.5

10

Hola, después de actualizar a Ubuntu 17.10, vmware ahora no se está iniciando.

Entiendo el mensaje:

/usr/lib/vmware/bin/vmware-modconfig: Relink `/lib/x86_64-linux-gnu/libbsd.so.0' with `/lib/x86_64-linux-gnu/librt.so.1' for IFUNC symbol `clock_gettime'

Soy consciente de que hay parches disponibles y estoy intentando aplicarlos y recompilarlos. He corrido desde la solución en https://communities.vmware.com/thread/571370 :

cd ~  
#Copy the vmmon source tar ball to your temporary location
cp /usr/lib/vmware/modules/source/vmmon.tar .   
#Extract the tar ball
tar xf vmmon.tar  

#Download the modified file that mkubecek posted and overwrite the one from the tar ball for VMware Workstation 12.5:
wget -O ./vmmon-only/linux/hostif.c https://raw.githubusercontent.com/mkubecek/vmware-host-modules/b50848c985f1a6c0a341187346d77f0119d0a835/vmmon-only/linux/hostif.c   

#Wrap up the newly modified files into a tar ball replacing the original one
sudo tar cf /usr/lib/vmware/modules/source/vmmon.tar vmmon-only  

#Rebuild the VMware kernel modules
sudo vmware-modconfig --console --install-all  
Failed to get gcc information. 
gcc --version
gcc (Ubuntu 7.2.0-8ubuntu3) 7.2.0 ...

Desafortunadamente, vmware-modconfig falla debido a una dependencia que parece en una versión particular de gcc. ¿Estoy en el camino correcto? Cualquier ayuda con este problema sería muy apreciada.

EDITAR Gracias Steve, lo siguiente ha hecho que vmware vuelva a funcionar. He incluido correcciones menores. Probado y confirmado que podía ejecutar una máquina virtual.

sudo su
# do all below as root
cd /usr/lib/vmware/modules/source
tar xvf vmmon.tar 
tar xvf vmnet.tar
wget -O ./vmmon-only/linux/hostif.c https://raw.githubusercontent.com/mkubecek/vmware-host-modules/b50848c985f1a6c0a341187346d77f0119d0a835/vmmon-only/linux/hostif.c
vim vmnet-only/bridge.c
cd vmmon-only/
make
cd ../vmnet-only/
make
cd ..
mkdir /lib/modules/4.13.0-16-generic/misc
cp *.o /lib/modules/4.13.0-16-generic/misc
insmod /lib/modules/4.13.0-16-generic/misc/vmmon.o
insmod /lib/modules/4.13.0-16-generic/misc/vmnet.o
rm /usr/lib/vmware/lib/libz.so.1/libz.so.1
ln -s /lib/x86_64-linux-gnu/libz.so.1 /usr/lib/vmware/lib/libz.so.1/libz.so.1
vmware-networks --start
exit

# run vmware as normal user
/usr/lib/vmware/bin/vmware
usuario1330734
fuente
2
En general, la virtualización de terceros se retrasará un poco con los nuevos núcleos y las nuevas versiones. Esto parece afectar vmware más que virtualbox. Como vmware es de código cerrado, tendrá que preguntarles. Como alternativa potencial, esta es la razón por la que trato lo más posible de usar KVM o LXC (aunque todavía siento que LXC no está listo para servidores de producción). KVM + spice es muy rápido (FWIW). Con vmware, supongo que habrá una solución en cualquier lugar de 1-3 días o 3-4 semanas, dependiendo de la complejidad del problema.
Pantera
El parche que está intentando aplicar es para resolver un error con el manejo de la memoria, no para el problema relacionado con el mensaje de error que mencionó. AFAIK todavía no hay solución para ese problema. Hay un informe de error en la plataforma de lanzamiento: bugs.launchpad.net/ubuntu/+source/linux/+bug/1715552
user749720
¿pudo resolver el problema "No se pudo obtener información de gcc"?
Oğuzhan Topçu
Desafortunadamente no, actualmente ejecuto un script que ejecuta insmody ejecuta sudo vmware-networksy luego vmware binary como usuario normal.
user1330734
Tengo Lubuntu 18.04: el Método de Stephen Wassell no funcionó. La solución de tokam (la actualización a VMWare 14 tampoco funcionó) debido a la política de VMWare solo para admitir el hardware más nuevo. El método de John funcionó, pero solo si inicio el vmplayer como su. De lo contrario, recibiré un mensaje confiable: Fila 106: error de memoria 29487 (volcado de memoria escrito) "$ BINDIR" / vmware-modconfig --appname = "VMWaer Player! --Ivon =" vmware-player "
Tobias Trappe

Respuestas:

12

He logrado que VMWare Workstation 12.5.7 funcione en Kubuntu 17.10.

En /usr/lib/vmware/modules/source:

  1. Extraer vmmon.taryvmnet.tar

    sudo tar -xf vmmon.tar
    sudo tar -xf vmnet.tar
    

    Esto creará vmmon-onlyy vmnet-onlydirectorios.

  2. Trae el parcheado hostif.c

    sudo wget -O vmmon-only/linux/hostif.c https://raw.githubusercontent.com/mkubecek/vmware-host-modules/b50848c985f1a6c0a341187346d77f0119d0a835/vmmon-only/linux/hostif.c
    

    (nota: https://communities.vmware.com/thread/571370 - también contiene una solución similar para VMWare Workstation 14)

  3. Editar vmnet-only/bridge.c:

    639c639
    <        atomic_inc(&clone->users);
    ---
    >        atomic_inc((atomic_t*)&clone->users);
    
  4. correr

    make -C vmmon-only
    make -C vmnet-only
    cp -t /lib/modules/4.13.0-16-generic/misc *.ko
    modprobe -r vmmon
    insmod /lib/modules/4.13.0-16-generic/misc/vmmon.ko
    rm /usr/lib/vmware/lib/libz.so.1/libz.so.1
    ln -s /lib/x86_64-linux-gnu/libz.so.1 /usr/lib/vmware/lib/libz.so.1/libz.so.1  # see https://communities.vmware.com/thread/572259
    vmware-networks --start  # see https://forum.chakralinux.org/viewtopic.php?id=8579
  5. Como usuario:

    /usr/lib/vmware/bin/vmware
    

    (para evitar que se ejecute vmware-modconfig)

Stephen Wassell
fuente
Impresionante, gran trabajo Stephen, tu respuesta fue extremadamente fácil de seguir. He repetido los pasos explícitamente, así como agregué una corrección menor para el paso 8 en la edición de mi pregunta anterior. ¡Salud!
usuario1330734
¡Gustoso de trabajar para ti! También arreglé mi paso 8, gracias por la corrección. Espero que todo esto persista después del reinicio ...
Stephen Wassell
1
Gracias de nuevo Stephen, estoy bien siempre que empiece /usr/lib/vmware/bin/vmware, de lo contrario, vmware informa que no puede encontrar GCC.
usuario1330734
Muchas gracias por publicar! Esto me hizo correr de nuevo. ¿Hay algún lugar al que podamos ir para ver dónde está VMWare con una solución?
Eric
44
La estación de trabajo 14.1.0 ya está disponible, lo que soluciona este problema. my.vmware.com/group/vmware/…
Stephen Wassell
6

He probado aproximadamente todas las demás soluciones pero nada funcionó. Pero estos pasos me funcionaron en Ubuntu 18.04, VMware 12.5.9

git clone https://github.com/mkubecek/vmware-host-modules.git
cd vmware-host-modules
git checkout workstation-12.5.9 (change it to your version. it's important)
make && sudo make install
cd /usr/lib/vmware/lib/libz.so.1
sudo mv libz.so.1 libz.so.1.old
sudo ln -s /lib/x86_64-linux-gnu/libz.so.1 .
sudo depmod -a
sudo /etc/init.d/vmware restart

Referencia:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1715552

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1715552/comments/29

Juan
fuente
2
esto funciona muy bien, muchas gracias! ¡He estado buscando una solución para esto para ubuntu 18.04 desde que salió!
Stam Kaly
1
Puede confirmar que esto funciona para Ubuntu 18.10, con VMWare Workstation Pro 12.5.9.
anonnoir
Esta solución funcionó para mí en Linux Mint 19.2 64bit con vmware workstation pro 12.5.9.
Lexib0y
2

La corrección de error descrita por: Stephen lleva a muchos a otro error: "Error al obtener información de gcc".

La solución más simple es descargar la estación de trabajo vmware player 14.1 .

Instalarlo en lugar de la versión 12.5 resuelve los problemas descritos anteriormente.

Para hacerlo solo corre

chmod +x VMware-Player-14.1.1-7528167.x86_64.bundle
sudo ./VMware-Player-14.1.1-7528167.x86_64.bundle

Y siga las instrucciones en el instalador gráfico.

tokam
fuente
2
que requiere una actualización de licencia
shadowbq
inicie usando en su /usr/lib/vmware/bin/vmwarelugar para resolver "Error al obtener información de gcc"
shadowbq
2
Creo que no comercialmente también funciona sin esa actualización de licencia
tokam
2

Además de la respuesta de Stephen Wassell , si todavía está ejecutando la versión VM Workstation 12.5.x deberá volver a compilar su .koparche para cada kernel ... que es mucho ...

Puede ver este error: ( Formato de módulo no válido )

# insmod /lib/modules/4.13.0-31-generic/misc/vmnet.ko 
insmod: ERROR: could not insert module /lib/modules/4.13.0-31-generic/misc/vmnet.ko: Invalid module format

Aquí hay una herramienta para mantener actualizados los módulos del núcleo de ubuntu-flavour-distros después de un parche del núcleo.

https://gist.github.com/shadowbq/5897002b620b093ca7578b5f13c3f3a1

También he incluido un contenedor simple .shque puede usar como reemplazo para iniciar la estación de trabajo vmware para que pueda estar seguro de que carga los módulos de kernel vm-network y vm-mon en todo momento.

Nota: este script no expandirá el 'tar' o el 'parche' de los archivos fuente, esto es para recompilar automáticamente los módulos del núcleo después de un parche del núcleo siguiendo los pasos originales de Stephen Wassell.

shadowbq
fuente