the problem when running vmware-config.pl so it can compile the modules:
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config0/vmnet-only'
make -C /lib/modules/2.6.21-git13-SPTNK1/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-2.6.21'
CC /tmp/vmware-config0/vmnet-only/driver.o
CC /tmp/vmware-config0/vmnet-only/hub.o
CC /tmp/vmware-config0/vmnet-only/userif.o
/tmp/vmware-config0/vmnet-only/userif.c: In function VNetCopyDatagramToUser:
/tmp/vmware-config0/vmnet-only/userif.c:630: error: const struct sk_buff has no member named h
/tmp/vmware-config0/vmnet-only/userif.c:630: error: const struct sk_buff has no member named nh
/tmp/vmware-config0/vmnet-only/userif.c:636: error: const struct sk_buff has no member named h
make[1]: *** \[_module_/tmp/vmware-config0/vmnet-only] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.21'
make: *** \[vmnet.ko] Error 2
make: Leaving directory `/tmp/vmware-config0/vmnet-only'
Unable to build the vmnet module.
I have gone as far as removing the licensing restriction in paravirt_ops.c, and patching my kernel to git13 (which has the paravirt_ops patch aswell). This has removed the compiling error for vmmon's "unknown symbol" and many other problems for modules that use different licenses other than GPL.
It appears I'm unable to win having paravirt_ops enabled. Disabling it is the last resort... althrough I don't see any relevence between this and paravirt_ops. I have an idea what this is, but I'm at a loss as to where to start.
edit: I forgot to include I have CONFIG_COMPAT_VDSO disabled.
"# CONFIG_COMPAT_VDSO is not set"
info:
OS - ArchLinux 0.8, self maintained kernel.
uname -a
Linux SPUTNIK1 2.6.21-git13-SPTNK1 #1 PREEMPT Fri May 11 05:59:04 CST 2007 i686 AMD Athlon(tm) AuthenticAMD GNU/Linux
glib 1.2.10-6
glib2 2.12.12-1
glibc 2.5-8
gcc version 4.1.2 20070423 (prerelease)
VMware-workstation-6.0.0-45731
Any help would be greatly appreciated.
I should have looked at the patch before digging around changelogs and such.
The patch you provided works entirely fine. IA32bit here, kernel 2.6.22-rc2. I have placed your vmnet.tar inplace of mine incase someone downloads the one from my link.
sputnik, thanks for the patch. I'm testing it right now on ubuntu gutsy with kernel 2.6.22-5-generic. so far compiling went fine. I'll see if it runs too in a minute.
EDIT: everything runs fine. thanks a bunch!
Message was edited by:
jbeckers
I'm very pleased to hear that. The patch should replace direct access to the skb struct as functions were introduced to accomplish this starting with 2.6.22 (I think).
I hope all the sensitive parts were caught but as I'm not very familiar with the kernel sources (and the modifications to them), it was more hit or miss
The http://24.12.114.66:8001/vmware/vmnet.tar fixes the build in 2.6.22-5-generic the kernel in ubuntu gutsy (the unstable 7.10 release).
The http://24.12.114.66:8001/vmware/vmnet.tar fixes
the build in 2.6.22-5-generic the kernel in ubuntu
gutsy (the unstable 7.10 release).
I am still having no success with Gutsy, here is my error:
Making sure services for VMware Server are stopped.
Stopping VMware services:
Virtual machine monitor done
Bridged networking on /dev/vmnet0 done
Virtual ethernet done
Configuring fallback GTK+ 2.4 libraries.
In which directory do you want to install the mime type icons?
What directory contains your desktop menu entry files? These files have a
In which directory do you want to install the application's icon?
Trying to find a suitable vmmon module for your running kernel.
None 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
Extracting the sources of the vmmon module.
Building the vmmon module.
Building for VMware Server 1.0.0.
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config1/vmmon-only'
make -C /lib/modules/2.6.22-5-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.22-5-generic'
CC /tmp/vmware-config1/vmmon-only/linux/driver.o
CC /tmp/vmware-config1/vmmon-only/linux/hostif.o
CC /tmp/vmware-config1/vmmon-only/common/cpuid.o
CC /tmp/vmware-config1/vmmon-only/common/hash.o
CC /tmp/vmware-config1/vmmon-only/common/memtrack.o
CC /tmp/vmware-config1/vmmon-only/common/phystrack.o
CC /tmp/vmware-config1/vmmon-only/common/task.o
cc1plus: warning: command line option "-Wdeclaration-after-statement" is valid for C/ObjC but not for C++
cc1plus: warning: command line option "-Wno-pointer-sign" is valid for C/ObjC but not for C++
cc1plus: warning: command line option "-Wstrict-prototypes" is valid for Ada/C/ObjC but not for C++
cc1plus: warning: command line option "-ffreestanding" is valid for C/ObjC but not for C++
include/asm/page.h: In function pte_t native_make_pte(long unsigned int):
include/asm/page.h:112: error: expected primary-expression before ) token
include/asm/page.h:112: error: expected ; before { token
include/asm/page.h:112: error: expected primary-expression before . token
include/asm/page.h:112: error: expected `;' before } token
make[1]: *** \[_module_/tmp/vmware-config1/vmmon-only] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.22-5-generic'
make: *** \[vmmon.ko] Error 2
make: Leaving directory `/tmp/vmware-config1/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.
VMNet error seems to have gone away but I now have a VMMon error. Any ideas?
Paladine
OK I went for a clean install and now I get a different error (although still with vmmon) see below:
---
In which directory do you want to install the mime type icons?
What directory contains your desktop menu entry files? These files have a
In which directory do you want to install the application's icon?
/usr/share/applications/vmware-server.desktop: warning: The 'Application' category is not defined by the desktop entry specification. Please use one of "AudioVideo", "Audio", "Video", "Development", "Education", "Game", "Graphics", "Network", "Office", "Settings", "System", "Utility" instead
/usr/share/applications/vmware-console-uri-handler.desktop: warning: The 'Application' category is not defined by the desktop entry specification. Please use one of "AudioVideo", "Audio", "Video", "Development", "Education", "Game", "Graphics", "Network", "Office", "Settings", "System", "Utility" instead
Trying to find a suitable vmmon module for your running kernel.
None 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
Extracting the sources of the vmmon module.
Building the vmmon module.
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config3/vmmon-only'
make -C /lib/modules/2.6.22-5-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.22-5-generic'
CC /tmp/vmware-config3/vmmon-only/linux/driver.o
In file included from /tmp/vmware-config3/vmmon-only/linux/driver.c:80:
/tmp/vmware-config3/vmmon-only/./include/compat_kernel.h:21: error: expected declaration specifiers or ... before compat_exit
/tmp/vmware-config3/vmmon-only/./include/compat_kernel.h:21: error: expected declaration specifiers or ... before exit_code
/tmp/vmware-config3/vmmon-only/./include/compat_kernel.h:21: warning: type defaults to int in declaration of _syscall1
make[1]: *** \[_module_/tmp/vmware-config3/vmmon-only] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.22-5-generic'
make: *** \[vmmon.ko] Error 2
make: Leaving directory `/tmp/vmware-config3/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.
---
Paladine
Paladine,
Having the same problem. See http://www.vmware.com/community/thread.jspa?threadID=86829&tstart=100
Hope it will be solved when 2.6.22 is released.
Good luck.
There's evidently more to this than just getting stuff to compile. I've got some bad behaviour here. (Linux 2.6.22-rc3 on IA32 host)
While vmmon and everything compiles, including vmnet if I use this patch and roll up a new vmnet.tar:
http://npw.net/~phbaer/vmware-workstation-6.0_linux-kernel-2.6.22.patch
There is bad behaviour.
First of all, networking appears to work perfectly until I try to communicate with the host via (bridged) network. For example if I ssh/sftp/ftp in to the host from a guest, the connection just hangs. If I press ctrl-c to abort it's fine, but if I leave it sit there trying for a bit everything locks up with keyboard lights blinking. I can't move on the host (or get out of the VM if I'm in there), input is locked up. At this point if I go to another box and ssh in, I can kill vmware-vmx which shuts down the virtual machine and everything is OK. This should not be a problem... I've always done this. It goes to the router just like any other tcp/ip connection on the LAN.
Going back to Linux 2.6.21.x on the host (and the original vmnet source) corrects this.
Also tried Nigel Cunningham's vmnet.tar but it oopsed on the IA32 host a few seconds after loading the module. (it was non fatal though... I removed the rc.d entries and rebooted the box)
Now, that's just the networking.
I discovered that when a VM locks up or panics it can take out the host too. Installing Fedora 7 locks up my host hard, during the package install (at different times, not always at the same point in progress). Completely halted, won't respond to any input, or pings, and I've got to power off and fsck filesystems afterwards to correct errors.
Log entries are just stopped dead.
So back to 2.6.21.x... the VM locks up during Fedora7 package install, similar behaviour, but doesn't harm the host. I can ctrl-alt to leave the VM's focus and "power off" the VM and exit vmware and restart it again. I don't know what bad combination of package selections triggers the fault, but if I just choose "customize later" and install the OS with default package selection it doesn't lock the guest. Probably why the install the previous night didn't lock up the guest with 2.6.22-rc3, because I didn't hit that fault. It was when I went back to redo it and customize. That's not important. The point is, that when it happens with 2.6.22-rc3 this completely kills the host.
I've gone back to 2.6.21.3 because I can't play with and troubleshoot something that's causing hard lockups on this system. I just can't afford to have data corruption.
That's unfortunate for now, because there are changes in 2.6.22-rc that I want, and everything else but vmware works correctly.
Are there any interesting entries in dmesg? With my kernel (Gutsy 2.6.22-something) everything works well; no networking problems, no freezes.
Unfortunately no, log entries just stop dead when the machine locks up. Nothing of interest other than vmmon printing floods of host clock rate change requests (but it does that with other kernels too and is not related to the problems). Thanks for asking.
I'm just going to keep 2.6.21.3 around for a bit and boot that kernel when I want to use vmware. I have to do 2.6.22-rc4 now and I may try again. I noticed I had disabled some kernel options for testing purposes and forgot to re-enable them again. They shouldn't be the cause, but it's best to consider everything that might be different between the kernels I was using.
It's probably changes to the kernel though. Different systems may not hit the same issues.
Intel Core2 Duo
965P chipset
AHCI SATA on ICH8
32 bit kernel, 32 bit userland
I am running 2.6.22-rc4 and have no problems except with vmware.
Ist still doesn't compile.
I had no trouble compiling using the vmware-any-any patches and my modified vmxnet.tar, using CentOS 5.0 as the base. Please see this post if you want a copy of the vm: http://chaz6.com/?p=199. I also enabled paravirt support.
I tried using vmware-any-any-110 patch as its the latest yet I'm still unable to compile vmmon. What exactly did you do to compile? What is your setup? GCC Version, kernel version? thanks
Try using g++ when you compile - you can automate the process with GNU MAKE Does wonders for me!
And if your using java I find the best way to do compilations is to use ANT with batch files.
However, I would suggest writing your source code with notepad because that is what the serious programmers do!
So I got the module to build on the 2.6.22 kernel, but only on my x86_64 box. On my x86 machines it still will not build using the any-any-update110 patch. Any Suggestions/Tips? Thanks
VMware-modules now compiling on x86 machines after modifiy my /lib/modules/2.6.22-rc4-ragnarok1/build/include/page.h
see http://www.vmware.com/community/thread.jspa?messageID=677688 for details
Thanks the vmnet.tar file worked for my Arch64 system running kernel 2.6.22-ARCH #1 SMP PREEMPT
This fix compilation problem. No "any-any" patch required. Do not try to modify your kernel, every thing fine with it, problem is in VMware.
VMware Workstation: 6.0.0 build-45731
Kernel: 2.6.22-gentoo-r8
howto:
cd /usr/lib/vmware/modules/source/
tar -xf vmnet.tar
cd vmnet-only
cat /path/to/patch | patch -p1
cd ..
tar -cf vmnet.tar vmnet-only
vmware-config.pl
Patch attached.
Vasya's patch works in x86 (I assume) but not in x86_64. Here's a new patch that should work in both. I know it works on x86_64 because I tested it on my machine (Ubuntu Gutsy).
VMware Workstation: 6.0.0 build-45731
uname -a: Linux ##### 2.6.22-14-generic #1 SMP Sun Oct 14 21:45:15 GMT 2007 x86_64 GNU/Linux
Installation instructions same as in Vasya's post.
Some people were complaining about errors with bridged networking on previous patch attempts even though they compiled fine. All the links posted a few months ago are broken so I can't compare them with my version, but I can confirm that connecting from the guest to the host on a bridged network works with this patch. I'm pretty confident all networking should work with this patch too.