Installing VMWare on Linux
Every time I install VMWare (of any type - workstation, server, player) I need to edit some source code in order to get the network module functional. I've done it so often I figured I should document it.
1) Run the installer. It will try to build a network module (vmmon) and it will fail. The problem is that the Ubuntu kernels are a target that moves too fast for VMWare to keep on top of.
2) When it fails, head over to /usr/lib/vmware/modules/source/ (this path will be different if you are installing the server or player versions) and
3) Unpack the vmmon source code thusly: sudo tar xvf vmmon.tar
4) Go into the resulting vmmon-only/include directory and sudo gedit compat_kernel.h
5) Edit the compat_kernel.h file to include the text in bold (below).
/*
* compat_exit() provides an access to the exit() function. It must
* be named compat_exit(), as exit() (with different signature) is
* provided by x86-64, arm and other (but not by i386).
*/
#define __NR_compat_exit __NR_exit
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
static inline _syscall1(int, compat_exit, int, exit_code);
#endif
6) Just to be safe, go up the tree and backup the old vmmon.tar: sudo mv vmmon.tar vmmon.orig.tar
7) Repack the edited module: sudo tar cvf vmmon.tar vmmon-only
8) Run the config again: sudo vmware-config.pl
*** an effective alternative is the use the any-any patch from here: http://platan.vc.cvut.cz/ftp/pub/vmware/
Look for the file that starts with "vmware-any-any-update"