
Since Ubuntu 7.04, Feisty Fawn, Ubuntu is using a standard kernel 2.6.20. Because of a few changes in the API, VMware-server and VMware-workstation 5.5 fail to install under Ubuntu 7.04 Feisty Fawn.
This how-to will show the steps to follow in order to get it install.
In this tutorial, I assume that you already know how to install those vmware products. This tutorial will be focus on the steps to follow in order to get vmware modules to compile.
The error people running Ubuntu Feisty Fawn is as follow:
Building the vmmon module.
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config0/vmmon-only'
make -C /lib/modules/2.6.20-15-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.20-15-generic'
CC [M] /tmp/vmware-config0/vmmon-only/linux/driver.o
In file included from /tmp/vmware-config0/vmmon-only/linux/driver.c:80:
/tmp/vmware-config0/vmmon-only/./include/compat_kernel.h:21: error: expected declaration specifiers or ‘...’ before ‘compat_exit’
/tmp/vmware-config0/vmmon-only/./include/compat_kernel.h:21: error: expected declaration specifiers or ‘...’ before ‘exit_code’
/tmp/vmware-config0/vmmon-only/./include/compat_kernel.h:21: warning: type defaults to ‘int’ in declaration of ‘_syscall1’
make[2]: *** [/tmp/vmware-config0/vmmon-only/linux/driver.o] Error 1
make[1]: *** [_module_/tmp/vmware-config0/vmmon-only] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.20-15-generic'
make: *** [vmmon.ko] Error 2
make: Leaving directory `/tmp/vmware-config0/vmmon-only'
Unable to build the vmmon module.
For more information on how to troubleshoot module-related problems, please
visit our Web site at "http://www.vmware.com/download/modules/modules.html" and
"http://www.vmware.com/support/reference/linux/prebuilt_modules_linux.html".
Execution aborted.
To pass over this error, we are going to edit one of the file from the module source: vmmon.tar. Let's go to the directory hosting the archive, backup and untar vmmon.tar, and finally edit compat_kernel.h:
# cd lib/modules/source/
# cp vmmon.tar vmmon.tar.bck
# tar -xvf vmmon.tar
# vi vmmon-only/include/compat_kernel.h
And change the line with:
static inline _syscall1(int, compat_exit, int, exit_code);
to
/* static inline _syscall1(int, compat_exit, int, exit_code); */
Tar the directory to vmmon.tar:
# chmod 755 vmmon.tar
# tar -cvf vmmon.tar vmmon-only
Finally, go back to vmware distrib directory:
# cd ../../../
Rebuild vmware server/workstation and enjoy :).








Thanks!!!
Thank you very much!
Yes!!
Thank you so much, I thought I was just going to have to wait until vmware got around to making a version for feisty.
it worked BUT on ubuntu 7.4 amd x86_64
Thank you it worked on my machine that is ubuntu 7.4 amd x86_64 only after I installed ia32-lib. Luckily I've found a note quite generic here http://www.novaglobal.com.sg/?q=xenlinux and tried the two things together! bye.
Thank you SO much! I'd
Thank you SO much!
I'd originally tried 'rpm -ivh VMware-server-', which needed 'apt-get install rpm' but didn't work even then, due to an dependency on '/bin/sh', which was in fact there.
So I changed tack and went for the VMware server tar.gz version, and when I hit the 'expected declaration' problem I was ready to dump Ubuntu and go back to Fedora (and do battle with madwifi and modprobe instead, and even though Fedora doesn't support my X60s out of the box like Ubuntu does).
There's no telling how much time I would have wasted trying to get my hardware working under Fedora. I might go back and give it a go one day once I can build my Ubuntu environment to what it is now, using PXE.
Cheers, Alex.
How can I rebuild VMware??
Hi,
I have changed the /lib/modules/source ... but when I run vmware-install.pl again it crashes as before. I think it is because I have not rebuild it. How could I do that? What is what I have to do after making the changes?
Thanks
When you run
When you run vmware-install.pl, it gets the sources from lib/modules/source again and copy it to /usr/lib/vmware/modules/source/ .
The basic idea is make the chages to lib/modules/source and then vm-install.pl .
When you will run vmware-config.pl it will pick up the sources from /usr/lib/vmware/modules/source/ .
Best regards.
Debuntu
nice one!!!! now
nice one!!!!
now then....... can some-one please covert this to a .deb-file.
with key-code and make it available to download?????
(the vmware workstaion that is!!!)
vmware could make a '.deb' installer but they dont like debian or ubuntu!
i'm a newbie to this stuff!!
cheers.
Great HowTo chantra! Let me
Great HowTo chantra!
Let me say more just that version of VMware-workstation have to be 5.5.3.
Ciao :)
Another Error
With your modifications, I made it through the first compilation (vmmon)...but on the second compilation (vmnet), I received a different error.
---
Extracting the sources of the vmnet module.
Building the vmnet module.
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config1/vmnet-only'
make -C /lib/modules/2.6.20-15-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.20-15-generic'
CC [M] /tmp/vmware-config1/vmnet-only/driver.o
CC [M] /tmp/vmware-config1/vmnet-only/hub.o
CC [M] /tmp/vmware-config1/vmnet-only/userif.o
/tmp/vmware-config1/vmnet-only/userif.c: In function ‘VNetCopyDatagramToUser’:
/tmp/vmware-config1/vmnet-only/userif.c:629: error: ‘CHECKSUM_HW’ undeclared (first use in this function)
/tmp/vmware-config1/vmnet-only/userif.c:629: error: (Each undeclared identifier is reported only once
/tmp/vmware-config1/vmnet-only/userif.c:629: error: for each function it appears in.)
make[2]: *** [/tmp/vmware-config1/vmnet-only/userif.o] Error 1
make[1]: *** [_module_/tmp/vmware-config1/vmnet-only] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.20-15-generic'
make: *** [vmnet.ko] Error 2
make: Leaving directory `/tmp/vmware-config1/vmnet-only'
Unable to build the vmnet module.
For more information on how to troubleshoot module-related problems, please
visit our Web site at "http://www.vmware.com/download/modules/modules.html" and
"http://www.vmware.com/support/reference/linux/prebuilt_modules_linux.html".
Execution aborted.
----
Any tips?
Similar Solution
# cd lib/modules/source
# cp vmnet.tar vmnet.tar.bck
# tar -xvf vmnet.tar
# grep -lRF CHECKSUM_HW vmnet-only/*
bridge.c
userif.c
# grep -lRFZ CHECKSUM_HW vmnet-only/* | xargs -r0 perl -pi -e 's/CHECKSUM_HW/CHECKSUM_PARTIAL/g'
# cd ../../../
Then, rebuild VMware.
Nice one guys, I have never
Nice one guys, I have never encountered that one though. was this with ubuntu or some other distros?
Debuntu
I had to patch vmnet in
I had to patch vmnet in addition to vmmon on Ubuntu 7.04 (Feisty Fawn). Currently running 2.6.20-15-generic #2 SMP Sun Apr 15 07:36:31 UTC 2007 i686 GNU/Linux.
Brilliant!
Brilliant!
Thank You
Muchas Gracias.
Hasta yo he podido hacerlo con estas indicaciones.
Saludos.
THANK YOU!!!
I would like to thank you for this tip!!! Keep up the good work!
Thanks!
You rule! This saved the day!
hum?
What is that line for?
the line replaces
the line replaces CHECKSUM_HW with CHECKSUM_PARTIAL in the two files bridge.c and userif.c
great tip! thank you.
great tip! thank you.
Great tip!
This worked great! Thanks very much for the tip! or ‘...’
Thank you very much for this
Thank you very much for this tip. It worked perfectly for me.
I had installed many packages before and I couldn't make vmware run.
Then I found this page and everything is Ok now just changing a line :)
Thanks again.
Man, i would like to thank
Man, i would like to thank you for this amazing tip to solve such untrivial (for average user) problem.
It worked perfectly for me, thanks!
Thanks so much!
Worked like a charm. My VM's are back after my clean install/upgrade!
stuck on first line....
Seems that I am missing something here... after entering first line I get:
$ cd lib/modules/source/
bash: cd: lib/modules/source/: No such file or directory
Under, lib/modules/ there is no source folder....? (7.04)
You should make sure you are
You should make sure you are in vmware-distrib directory first.
This should not vary depending opn the distro as it is include in VMWare package.
Hope this helps
Debuntu