VMWare Server 2 und Kernel 2.6.29 – Unable to build the vmmon module
Geschrieben von mfinkler in Allgemein, tags: Linux, VMwareKaum installiert man einen neuen Kernel, schon geht die Fixerei los. VMWare Server 2 lässt sich nicht installieren und quittiert mit folgender Meldung
debian:/install/VMWare/vmware-server-distrib# vmware-config.pl
Making sure services for VMware Server are stopped.Stopping VMware autostart virtual machines:
Virtual machines failed
Stopping VMware management services:
VMware Virtual Infrastructure Web Access
VMware Server Host Agent failed
Stopping VMware services:
VMware Authentication Daemon done
Virtual machine communication interface done
Virtual machine monitor done
Bridged networking on /dev/vmnet0 done
Host network detection done
DHCP server on /dev/vmnet1 done
Host-only networking on /dev/vmnet1 done
Bridged networking on /dev/vmnet2 done
DHCP server on /dev/vmnet8 done
NAT service on /dev/vmnet8 done
Host-only networking on /dev/vmnet8 done
Virtual ethernet doneNone of the pre-built vmmon modules for VMware Server is suitable for your
running kernel. Do you want this program to try to build the vmmon module for
your system (you need to have a C compiler installed on your system)? [yes]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.29/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.29/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-2.6.29′
CC [M] /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
In file included from /tmp/vmware-config0/vmmon-only/./common/vmx86.h:31,
from /tmp/vmware-config0/vmmon-only/linux/driver.h:29,
from /tmp/vmware-config0/vmmon-only/linux/driver.c:101:
/tmp/vmware-config0/vmmon-only/./include/x86apic.h:97:1: warning: “APIC_BASE_MSR” redefined
In file included from /usr/src/linux-2.6.29/arch/x86/include/asm/fixmap_32.h:29,
from /usr/src/linux-2.6.29/arch/x86/include/asm/fixmap.h:5,
from /usr/src/linux-2.6.29/arch/x86/include/asm/apic.h:8,
from /usr/src/linux-2.6.29/arch/x86/include/asm/smp.h:13,
from include/linux/smp.h:36,
from include/linux/topology.h:33,
from include/linux/mmzone.h:767,
from include/linux/gfp.h:4,
from include/linux/kmod.h:22,
from include/linux/module.h:13,
from /tmp/vmware-config0/vmmon-only/./include/compat_module.h:27,
from /tmp/vmware-config0/vmmon-only/linux/driver.c:26:
/usr/src/linux-2.6.29/arch/x86/include/asm/apicdef.h:132:1: warning: this is the location of the previous definition
/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] Fehler 1
make[1]: *** [_module_/tmp/vmware-config0/vmmon-only] Fehler 2
make[1]: Leaving directory `/usr/src/linux-2.6.29′
make: *** [vmmon.ko] Fehler 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.
Datei vmware-server-modules-2629 runterladen und nach “vmware-server-distrib/lib/modules/source/” entpacken und neu installieren.
Download the file vmware-server-modules-2629 and extract it to “vmware-server-distrib/lib/modules/source/” and then reinstall.
Was ich selbst noch als wichtig empfinde, den Autostart rauszunehmen, unter meinem Debian mache ich das wiefolgt:
To change the autostart use following command:
find /etc/ | grep rc | grep S | grep vmware | xargs -I ‘{}’ rm -f ‘{}’
Einträge (RSS)
Danke! Genau das selbe Problem hatte ich auch
This is what I did on Debian unstable (without re-installing vmware):
wget http://www.saarlinux.de/blog/wp-content/uploads/2009/03/vmware-server-modules-2629tar.gz
cd /usr/lib/vmware/modules/source
mkdir oldsources
mv *.tar oldsources/
tar xzf ../../vmware-server-modules-2629tar.gz
vmware-config.pl
Thanks a lot!
2Peter:
The same works on Fedora 10/11
Erstmal Danke ! Mit dem Patch kann ich unter 2.6.29.1 (amd64) zwar die Module “fehlerfrei” übersetzen, leider funktioniert aber das HostOnly-Netz nicht. Aus den VMs raus erreiche ich den Host nicht und umgekehrt. Die VMs untereinander erreichen sich ohne Probleme. Was mir aufgefallen ist, sind die vielen dropped und overruns auf dem Host-vmnet1-Interface:
vmnet1 Link encap:Ethernet HWaddr 00:50:56:c0:00:01
inet addr:10.10.2.1 Bcast:10.10.2.255 Mask:255.255.255.0
inet6 addr: fe80::250:56ff:fec0:1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:18446711088422950856 overruns:4096 frame:18446678103136358456
TX packets:168 errors:0 dropped:0 overruns:18446612137268473856 carrier:18446480200257749376
collisions:18446711088422951024 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Hat jemand eine Idee ?
Grüße
Ralph
Thanks this worked for me on Ubuntu 8.04 server with custom 2.6.29 kernel.
Well except vsock module. (I tried following directions at http://kramfs.com/vmware-server-2-unable-to-build-the-vsock-module/ , but it just reported an error when running make, so I put off for another time, it probably just can’t find my kernel header sources)
Building the vsock module.
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config0/vsock-only’
make -C /usr/src/linux-2.6.29/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-2.6.29′
CC [M] /tmp/vmware-config0/vsock-only/linux/af_vsock.o
CC [M] /tmp/vmware-config0/vsock-only/linux/driverLog.o
CC [M] /tmp/vmware-config0/vsock-only/linux/util.o
CC [M] /tmp/vmware-config0/vsock-only/linux/vsockAddr.o
LD [M] /tmp/vmware-config0/vsock-only/vsock.o
Building modules, stage 2.
MODPOST 1 modules
WARNING: “VMCIDatagram_CreateHnd” [/tmp/vmware-config0/vsock-only/vsock.ko] undefined!
WARNING: “VMCIDatagram_DestroyHnd” [/tmp/vmware-config0/vsock-only/vsock.ko] undefined!
WARNING: “VMCI_GetContextID” [/tmp/vmware-config0/vsock-only/vsock.ko] undefined!
WARNING: “VMCIDatagram_Send” [/tmp/vmware-config0/vsock-only/vsock.ko] undefined!
CC /tmp/vmware-config0/vsock-only/vsock.mod.o
LD [M] /tmp/vmware-config0/vsock-only/vsock.ko
make[1]: Leaving directory `/usr/src/linux-2.6.29′
cp -f vsock.ko ./../vsock.o
make: Leaving directory `/tmp/vmware-config0/vsock-only’
Unable to make a vsock module that can be loaded in the running kernel:
insmod: error inserting ‘/tmp/vmware-config0/vsock.o’: -1 Unknown symbol in module
There is probably a slight difference in the kernel configuration between the
set of C header files you specified and your running kernel. You may want to
rebuild a kernel based on that directory, or specify another directory.
The VM communication interface socket family is used in conjunction with the VM
communication interface to provide a new communication path among guests and
host. The rest of this software provided by VMware Server is designed to work
independently of this feature. If you wish to have the VSOCK feature you can
install the driver by running vmware-config.pl again after making sure that
gcc, binutils, make and the kernel sources for your running kernel are
installed on your machine. These packages are available on your distribution’s
installation CD.
Thank you!!! Finally a solution that actually works!
Working on Mandriva 2009 Spring.
Thanks a lot.
Eureka!!!!
Gracias a todos aquellos que se dieron a la tarea de dar solución a este problema tan molesto.
Funciona de maravilla.
Thanks a lot!!!
Than you so much krub. It works very well
ขอบคุณครับ
Confirmed and working Fedora 11 X64 (2.6.29.4-167.fc11.x86_64)
Having installed VMWare server 2 and getting the errors. I then did the same as Peter posted above. No need to re-install:
wget http://www.saarlinux.de/blog/wp-content/uploads/2009/03/vmware-server-modules-2629tar.gz
cd /usr/lib/vmware/modules/source
mkdir oldsources
mv *.tar oldsources/
tar xzf ../../vmware-server-modules-2629tar.gz
vmware-config.pl
it works well .. thanks!
I tried this on Fedora 11 X64, now the modules build (still with errors / warnings) but at least they built.
But when I go to https://127.0.0.1:8333/ui/ I just get a blank page. No login screen.
Any suggestions?
well just wanted to let you know that I did the ‘windows error recovery procedure’ i.e. restarting the machine and now it works. Very slow, but it does work.
Vielen vielen Dank fuer den Patch!
Thank you sooooooooooooo much
Hi,
unfortunately there’s a problem with fedora 11 x86_64 (kernel 2.6.29.5-191-fc11.x86_64) and this patch. The problem is exactly as it is reported here: http://communities.vmware.com/thread/204158
The problem exists with hostonly, nat, and bridged networking.
Any idea?
Thank you very much!!
it worked. thanx
Thank you!!!!
For turning off the autostart, wouldn’t
find /etc/rc -name ‘S*vmware’ | xargs -I ‘{}’ rm -f ‘{}’
be much simpler? I just hate seeing it listing every file in the /etc dir, almost all of which is discarded.
Oops, there should be another asterisk after /etc/rc, of course.
Yeah ! Thank you ! I applied it and it also works on a 2.6.30 kernel, except the vsock modul which doesn’t compile.
Many thanks !
It worked with my debian testing (squeeze) and kernel 2.6.30-1-686. Vmware server.
Hello,
i can’t compile vmnet on karmic koala kernel 2.6.31-10 unsuported linux message again! =)
thanx
Thanks, Danke! ….. It worked on Fedora Core 11!!
Thanks a lot ! work fine on Debian Etch with 2.6.30-2 SMP and 2.0.1 VMWare.
It installed and worked. But the NAT connection is buggy. Guest and Host OS cant see each other through a NAT conection. But HOST does the gatway job proppely.
Host OS: Ubuntu 9.02 on a 2.6.29 kernell
Found the solution for the problem I mentioned in the last comment. Used a better vmnet.tar file instead of the one inside the given link.
Download it here: http://communities.vmware.com/servlet/JiveServlet/download/1231608-21781/vmnet.tgz
It is already patched, just copy this one instead the one of this webpage along with the others .tar files.
[...] workstation在kernel 2.6.29上的补丁,都不好用,最后在http://www.saarlinux.de/blog/?p=5 翻到一个已经打了补丁的vmware [...]