If you’ve been trying to run VMWare v4.5 on the latest Linux release candidate kernels, you may be having trouble compiling it. Fortunately, a few quick fixes and you should be able to compile again.
First, and possibly optional, you should get the latest vmware-any-any-nn.tar.gz from the usual place. Unpack it and apply as usual. You will need to be root, sudo, or however you obtain root on your system. Abort vmware-config.pl when it starts as it will fail presently.
Second, you need to edit /usr/local/bin/vmware-config.pl and, as a quick hack, comment out the following block of code. (I used =pod and =cut to denote it as a large Perl comment block.)
=pod
if ($header_page_offset =~ /[0-9a-fA-F]{8,}/) {
# We found a valid page offset
if (defined($gSystem{'page_offset'}) and
not (lc($header_page_offset) eq lc($gSystem{'page_offset'}))) {
if ($source eq 'user') {
print wrap('The kernel defined by this directory of header files does '
. 'not have the same address space size as your running '
. 'kernel.' . "\n\n", 0);
}
return '';
}
}
=cut
Finally, as referenced in this thread at VMWare’s support forum, you need to unpack two tarballs in /usr/local/lib/vmware/modules/source, vmmon.tar and vmnet.tar, and make a one line addition to each file.
# cd /usr/local/lib/vmware/modules/source # tar -xvf vmmon.tar # vi vmmon-only/Makefile.kernel Replace $(EXTRA_CFLAGS) -Iinclude2/asm/mach-default \ With $(EXTRA_CFLAGS) -Iinclude2/asm/mach-default -DKBUILD_BASENAME=\"$(DRIVER)\"\
# mv vmmon.tar vmmon.tar.old
# tar -cvf vmmon.tar vmmon-only
# rm vmmon-only -Rf
Repeat the above process for vmnet.tar, then rerun /usr/local/bin/vmware-config.pl and it should compile without incident.