Monday, May 26, 2014

installing vmware workstation 9 in fedora 20 / and also how to fix when kernel upgrades don't let it compile

I was going to make a new post, but honestly, for the installation, this one covers it really well.

I would obey the instructions - including leaving the root user in the dialog. This adds the benefit of only the root user being able to change the program (for example, when applying a license key).

When upgrades come, it will ask to recompile and may fail. Check these 3 things

A) login as root, do this (anytime your kernel changes)

cp /usr/src/kernels/`uname -r`/include/generated/uapi/linux/version.h /lib/modules/`uname -r`/build/include/linux/

B) If the upgrade process still fails - the referenced log will say something like

 error: conflicting types for ‘VNetFilterHookFn

Follow this then:

The people that get an error when applying the patch - you already have the patch (open the file, you will see it). it fails because you are running the patch twice.

C) if the above patch is already in place, open the error log and try running the build command that fails. if you find:

/tmp/modconfig-iyZm3D/vmnet-only/netif.c:152:64: error: macro "alloc_netdev" requires 4 arguments, but only 3 given
    dev = alloc_netdev(sizeof *netIf, deviceName, VNetNetIfSetup);
then use what eris23 did in the comments of danda3 (he said he found it in - it's in italian but you can see the post on the left). It is a 2nd patch, you have to extract and tar again, but basically you are adding a 4th parameter to bypass the error). This was on line 152 (the error shows it)

Making it simple:

1) cd /usr/lib/vmware/modules/source/

2) tar xvf vmnet.tar vmnet-only/netif.c

open the netif.c file, go to line 152, add NET_NAME_UNKNOWN, in place of a 3rd argument (i did not find this to do any harm to workstation).

3) tar -uvf vmnet.tar vmnet-only/netif.c

and now run the installer, which in my case, finally worked.

If it still doesn't work, grab the command at the end of the error log, execute it, and start troubleshooting from there, looking for errors. Good luck!