Hello Folks,
I am getting following error while installing
VMware Server 1.0.8 on Ubuntu 8.10
-
Unable to install VMware Server 1.0.8 on Ubuntu 8.10
Using compiler "/usr/bin/gcc". Use environment variable CC to override.
What is the location of the directory of C header files that match your running
kernel? /lib/modules/2.6.27-7-generic/build/include
Extracting the sources of the vmmon module.
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.27-7-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.27-7-generic'
CC Unable to install VMware Server 1.0.8 on Ubuntu 8.10 /tmp/vmware-config0/vmmon-only/linux/driver.o
In file included from /tmp/vmware-config0/vmmon-only/./include/machine.h:24,
from /tmp/vmware-config0/vmmon-only/linux/driver.h:15,
from /tmp/vmware-config0/vmmon-only/linux/driver.c:49:
/tmp/vmware-config0/vmmon-only/./include/x86.h:830:1: warning: "PTE_PFN_MASK" redefined
In file included from include/asm/paravirt.h:7,
from include/asm/irqflags.h:55,
from include/linux/irqflags.h:57,
from include/asm/system.h:11,
from include/asm/processor.h:17,
from include/linux/prefetch.h:14,
from include/linux/list.h:6,
from include/linux/module.h:9,
from /tmp/vmware-config0/vmmon-only/linux/driver.c:12:
include/asm/page.h:22:1: warning: this is the location of the previous definition
In file included from /tmp/vmware-config0/vmmon-only/linux/vmhost.h:13,
from /tmp/vmware-config0/vmmon-only/linux/driver.c:71:
/tmp/vmware-config0/vmmon-only/./include/compat_semaphore.h:5:27: error: asm/semaphore.h: No such file or directory
/tmp/vmware-config0/vmmon-only/linux/driver.c:146: error: unknown field ‘nopage’ specified in initializer
/tmp/vmware-config0/vmmon-only/linux/driver.c:147: warning: initialization from incompatible pointer type
/tmp/vmware-config0/vmmon-only/linux/driver.c:150: error: unknown field ‘nopage’ specified in initializer
/tmp/vmware-config0/vmmon-only/linux/driver.c:151: warning: initialization from incompatible pointer type
/tmp/vmware-config0/vmmon-only/linux/driver.c: In function ‘LinuxDriver_Ioctl’:
/tmp/vmware-config0/vmmon-only/linux/driver.c:1670: error: too many arguments to function ‘smp_call_function’
make[2]: *** /tmp/vmware-config0/vmmon-only/linux/driver.o Error 1
make[1]: *** Unable to install VMware Server 1.0.8 on Ubuntu 8.10 Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.27-7-generic'
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/download/modules/modules.html" and
"http://www.vmware.com/support/reference/linux/prebuilt_modules_linux.html".
Execution aborted.
root@station3:#
-
Please help.
In this thread of the vmkernelnewbies group, they say the 2.6.27 kernel does no longer support two old APIs still required by the vmmon and vmnet modules, and a third API had a change so its invocation has now one parameter less than before. Therefore, the code in VMware Server's vmmon and vmnet modules cannot compile against 2.6.27 kernels as it is now.
I have found here a patch for 2.6.27 which seemingly works in Intrepid Ibex at least with Server 1.0.7 (see response 3).
I tried that patch, it may have helped install but it didnot help config.
Apart from vmware-config.pl telling me I am using the wrong version of /usr/bin/gcc it seems there are no Linux-headers for the 2.6.24-19-386.
If you have a way around this it would be much appreciated.
cliffd7 wrote:
I tried that patch, it may have helped install but it didnot help config.
Apart from vmware-config.pl telling me I am using the wrong version of /usr/bin/gcc it seems there are no Linux-headers for the 2.6.24-19-386.
If you have a way around this it would be much appreciated.
The patch I mentioned in my previous post is specifically for kernel 2.6.27. Of course it won't help if what you have is a 2.6.24 kernel.
If you don't have the exact kernel headers for your running kernel, you cannot compile any kernel module. Fix that first. You must install the matching headers package for your running kernel from your linux distribution's repositories.
If you have installed VMware Server 1.0.8, chances are that you can compile its modules without patches for a 2.6.24 kernel.
I'm not 100% sure about the latest ones, but as far as I know, Server 1.0.8 has already been reworked to compile cleanly against recent kernels, maybe up to 2.6.25. I upgraded to Server 1.0.8 in a Fedora 7 host running kernel 2.6.23 and it didn't need patching at all to compile its modules.
If vmware-config.pl tells you are using a wrong version of gcc, then that means your kernel was compiled with a different version of gcc than the one you have installed in your system. Usually you can ignore this warning safely, because a slight difference in minor version numbers does not make gcc compile in a radically different way.
If you have the previous version of gcc also installed, you can force VMware Server's config script to use it by setting two environment variables.
For example, if your kernel was compiled with gcc 4.2 and you do have gcc versions 4.3 and 4.2 installed, you usually can type
CC=gcc42 CXX=g++42 vmware-config.pl to force vmware-config.pl using the older v4.2 compiler (at least this works for me on Red Hat distros).
Thank you so much this does work for 1.0.8 on kenel 2.6.27!!!!! I've been trying to get this to work for the last 2 days!!!