Error virtual machine monitor vmware 12 on ubuntu 16

Submitted by erick on Sat, 08/19/2017 - 19:36

I figured it out. I'll try to be detailed with exactly what I did. Things might be a bit different since I have VMWare Player, but they shouldn't be.

Go to the folder

cd /usr/lib/vmware/modules/source

Untar the file vmmon.tar using (you might need su/sudo to do these)

tar xf vmmon.tar

Edit the file ./vmmon-only/linux/driver.c

nano ./vmmon-only/linux/driver.c

Apply these changes, courtesy of https://forums.gentoo.org/viewtopic-p-7841306.html#7841306 At around line 400, delete lines starting with a - and add ones starting with a + (don't actually put the +). There's a way to do this using the patch command but whatever. If you know how to read patch files you'll see the user on that form included another change to another file but it all works without me carrying that out.

#ifdef VMX86_DEVEL unregister_chrdev(linuxState.major, linuxState.deviceName);

#else

- if (misc_deregister(&linuxState.misc)) {

- Warning("Module %s: error unregistering\n", linuxState.deviceName);

- }

+ misc_deregister(&linuxState.misc);

Backup the original

mv vmmon.tar vmmon.tarbackup

Retar the files

tar cf vmmon.tar ./vmmon-only

I'm a little iffy from this point on, since I did a few things and didn't test after each step. So both of these might not be strictly necessary.

Recompile libs using the driver.c you just edited

sudo vmware-modconfig --console --install-all

Run VMWare, telling it to use the libs you just compiled

sudo VMWARE_USE_SHIPPED_LIBS=yes vmware