Using VMware 4.5 in SuSE Linux 9.3

I've been an avid user of VMware for about 2 years (currently at version 4.5.3 running on SuSE 9.3) and in general it works flawlessly. There are however two nasty problems that require some manual intervention whenever one upgrades a kernel or the VMware package. Both are sparsely documented, which is why I decide to create this page to summarize it here.

VMware unable to load modules during first-time configuration

So, you've unwrapped the VMware box and eagerly install it on your SuSE box. You run vmware-config.pl - only to be greeted by the following error:

*** Warning: "skb_copy_datagram" [/tmp/vmware-config4/vmnet-only/vmnet.ko] undefined!
...
Unable to make a vmnet module that can be loaded in the running kernel:
insmod: error inserting '/tmp/vmware-config4/vmnet.o': -1 Unknown symbol in module

The problem is due to the incompatibility introduced in the recent kernel versions. You can fix the configuration process by the following not-so-difficult fix:

  • Download this patch from this site.
  • Step into /usr/lib/vmware/modules/source and perform the following steps:

    cp vmnet.tar vmnet.tar.bak
    tar xf vmnet.tar
    patch -p1 < skb-fix.patch
    tar cf vmnet.tar vmnet-only

Once done, you can re-run vmware-config.pl and it should be able to load the vmnet module without a problem.

VMware unable to build vmmon module

This problem happens every time I run vmware-config.pl script during the module build satge. The process fails with the following diagnostics:

/bin/sh: scripts/basic/fixdep: No such file or directory

The cause is due to the assumptions about the kernel source layout and file availability that VMware makes. In any case, it is fixed very easily, and, best of all, no patching is required. Just step int /usr/src/linux and run:

make cloneconfig
make modules_prepare

This will fix the problem. Note, however, that you will have to perform this every time the kernel is updated.