After updating the kernel 2.6.30, I couldn't compile modules. The error was:
...
CC Here is patch for 2.6.30 kernel for VMware Server 2.0.1 build-156745 x_64 /tmp/vmware-config2/vmmon-only/linux/driver.o
In file included from /tmp/vmware-config2/vmmon-only/linux/driver.c:31:
/tmp/vmware-config2/vmmon-only/./include/compat_wait.h:78: error: conflicting types for ‘poll_initwait’
include/linux/poll.h:67: error: previous declaration of ‘poll_initwait’ was here
/tmp/vmware-config2/vmmon-only/linux/driver.c: In function ‘LinuxDriverSyncCallOnEachCPU’:
/tmp/vmware-config2/vmmon-only/linux/driver.c:1423: error: too many arguments to function ‘smp_call_function’
/tmp/vmware-config2/vmmon-only/linux/driver.c: In function ‘LinuxDriver_Ioctl’:
/tmp/vmware-config2/vmmon-only/linux/driver.c:1987: error: ‘struct task_struct’ has no member named ‘euid’
/tmp/vmware-config2/vmmon-only/linux/driver.c:1987: error: ‘struct task_struct’ has no member named ‘uid’
/tmp/vmware-config2/vmmon-only/linux/driver.c:1988: error: ‘struct task_struct’ has no member named ‘fsuid’
/tmp/vmware-config2/vmmon-only/linux/driver.c:1988: error: ‘struct task_struct’ has no member named ‘uid’
/tmp/vmware-config2/vmmon-only/linux/driver.c:1989: error: ‘struct task_struct’ has no member named ‘egid’
/tmp/vmware-config2/vmmon-only/linux/driver.c:1989: error: ‘struct task_struct’ has no member named ‘gid’
/tmp/vmware-config2/vmmon-only/linux/driver.c:1990: error: ‘struct task_struct’ has no member named ‘fsgid’
/tmp/vmware-config2/vmmon-only/linux/driver.c:1990: error: ‘struct task_struct’ has no member named ‘gid’
/tmp/vmware-config2/vmmon-only/linux/driver.c:2007: error: too many arguments to function ‘smp_call_function’
make[2]: *** /tmp/vmware-config2/vmmon-only/linux/driver.o Error 1
make[1]: *** Here is patch for 2.6.30 kernel for VMware Server 2.0.1 build-156745 x_64 Error 2
...
Thanx to user Krellan on his post http://communities.vmware.com/thread/208963
Changing a little his patch and shell file, now it's possible to work with kernel 2.6.30 on vmware server 2.0.1
I've successfully tested it on ubuntu x_64 (9.04).
I hope it will be useful
Regards Michele
Just upgraded to 2.6.30 and had a momentary panic attack when VM 2.0.1 wouldn't compile. The patches work beautifully - many thanks!
Have been searching around the net and finally hit the jackpot. Thx a lot for this. Worked like a charm.
Really needed to get the 2.6.30 kernel working with everything.
/Kenneth
As someone who knows how to do little more than tar xzf and ./vmware-config.pl could you possibly explain how to use this patch?
Like explaned in the post http://communities.vmware.com/thread/208963
Simply:
-Download both files;
-Move in the download dir (eg. cd Downloads)
-As super user (eg. root) digit: bash vmware-server.2.0.1_x64-modules-2.6.30-fix.sh
-Done!
Ciao Michele
sorry guys i triend to apply the patch and rerun the installation but gave me again the errors, can anyon tell me what's the procedure to get vmware installed?
I had some problems with this too, but it was down to the fact that I had installed vmware into /usr/local and not plain /usr.
Anyway, here's what I did if it helps.
cd /usr/src
mkdir vmware-patches
cd vmware-patches
chmod 700 vmware-server.2.0.1_x64-modules-2.6.30-fix.sh
cp /usr/local/lib/vmware/modules/source/*.tar .
./vmware-server.2.0.1_x64-modules-2.6.30-fix.sh
Seri
Could you possibly post a patch/script for the 32 bit version instead of the 64?
Or, else, please note what I should edit in your files for the VMWare Server 2.0.1 build-156745 to work with my new 2.6.30 kernel.
This patch works fine with the 32-bit version. Source code is not generally that tuned towards being 32bit vs. 64-bit.
Anyways, I've tested the patch on my 32-bit VMware Server 2.0.1 build-156745 and it works fine.
There is, however, one problem. Whenever my machine restarts, VMWare refuses to load. It's somehow able to
detect that the driver it's running have been modified in some way and refuses to load them. If I run vmware-config
again it instructs me to delete the vmmon, vmnet and vmacpi drivers as they were not built by vmware-config
(Even though they were...)
Does anyone have any ideas what the fix for this would be?
In response to salnajjar:
just change line 11 of installer VMMODDIR="/usr/lib/vmware/modules" to where you have your installation, eg: VMMODDIR="/usr/local/lib/vmware/modules" and it should work!
The installer is not a general purpose one!
Regards Michele
The vmware code is the same for 32 and 64 bit; so, the patch should work both the versions
ciao
Michele
In response to OOPMan:
try this: stop vmware services;
delete in /lib/modules/$(uname -r)/misc
vmci.ko, vmci.o, vmmon.ko, vmmon.o, vmnet.ko, vmnet.o
use the patch
Ciao Michele
HI,
I installed a slack 12.2.
I upgraded to the kernel 2.6.30
I downloaded VMware-server-2.0.1-156745.i386.tar.gz and the two files (.patch and .sh)
I run the .sh . All is fine
Now I run the vmware-install.pl
When the program try to build the vmmon module I have the same error as before the patch.
Why ?
The error is
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config0/vmmon-only'
make -C /lib/modules/2.6.30/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-2.6.30'
CC Re: Here is patch for 2.6.30 kernel for VMware Server 2.0.1 build-156745 x_64 /tmp/vmware-config0/vmmon-only/linux/driver.o
In file included from /tmp/vmware-config0/vmmon-only/linux/driver.c:31:
/tmp/vmware-config0/vmmon-only/./include/compat_wait.h:78: error: conflicting types for 'poll_initwait'
include/linux/poll.h:67: error: previous declaration of 'poll_initwait' was here
/tmp/vmware-config0/vmmon-only/linux/driver.c: In function 'LinuxDriverSyncCallOnEachCPU':
/tmp/vmware-config0/vmmon-only/linux/driver.c:1423: error: too many arguments to function 'smp_call_function'
/tmp/vmware-config0/vmmon-only/linux/driver.c: In function 'LinuxDriver_Ioctl':
/tmp/vmware-config0/vmmon-only/linux/driver.c:1987: error: 'struct task_struct' has no member named 'euid'
/tmp/vmware-config0/vmmon-only/linux/driver.c:1987: error: 'struct task_struct' has no member named 'uid'
/tmp/vmware-config0/vmmon-only/linux/driver.c:1988: error: 'struct task_struct' has no member named 'fsuid'
/tmp/vmware-config0/vmmon-only/linux/driver.c:1988: error: 'struct task_struct' has no member named 'uid'
/tmp/vmware-config0/vmmon-only/linux/driver.c:1989: error: 'struct task_struct' has no member named 'egid'
/tmp/vmware-config0/vmmon-only/linux/driver.c:1989: error: 'struct task_struct' has no member named 'gid'
/tmp/vmware-config0/vmmon-only/linux/driver.c:1990: error: 'struct task_struct' has no member named 'fsgid'
/tmp/vmware-config0/vmmon-only/linux/driver.c:1990: error: 'struct task_struct' has no member named 'gid'
/tmp/vmware-config0/vmmon-only/linux/driver.c:2007: error: too many arguments to function 'smp_call_function'
make[2]: *** /tmp/vmware-config0/vmmon-only/linux/driver.o Error 1
make[1]: *** Re: Here is patch for 2.6.30 kernel for VMware Server 2.0.1 build-156745 x_64 Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.30'
make: *** http://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/go/unsup-linux-products" and
"http://www.vmware.com/go/unsup-linux-tools".
Execution aborted.
Thx
Nope, that doesn't fix it. Gah, this is a real pain.
Since you receive the same message when the patch is missing I suppose there was something wrong. I seeems like you are still using the old drivers. It may be caused because it's a first installation or a reinstallation.
Try the following:
Simply patch the installation files (usually in ./vmware-server-distrib/lib/modules/source/) and retry. It should work.
Regards, Michele