VMware

This Question is Answered

1 "correct" answer available (10 pts) 2 "helpful" answers available (6 pts)
1 2 Previous Next 27 Replies Last post: Apr 27, 2008 6:20 AM by jprog  

Workstation 5.5 does not build on 2.6.24 Fedora Rawhide kernel posted: Nov 20, 2007 2:02 PM

Click to view AzCoderOne's profile Lurker 4 posts since
Nov 20, 2007
The newest kernel yields build problems. I have applied any-any-114, but still can not build. I think we need an any-any-115. Here is the output of the build script.

Jim

root@(none) ~# vmware-config.pl
Making sure services for VMware Workstation are stopped.

Stopping VMware services:
Virtual machine monitor OK
Bridged networking on /dev/vmnet0 OK
DHCP server on /dev/vmnet1 OK
Host-only networking on /dev/vmnet1 OK
DHCP server on /dev/vmnet8 OK
NAT service on /dev/vmnet8 OK
Host-only networking on /dev/vmnet8 OK
Virtual ethernet OK

Configuring fallback GTK+ 2.4 libraries.

In which directory do you want to install the mime type icons?
[/usr/share/icons]

What directory contains your desktop menu entry files? These files have a
.desktop file extension. [/usr/share/applications]

In which directory do you want to install the application's icon?
[/usr/share/pixmaps]

Trying to find a suitable vmmon module for your running kernel.

None of the pre-built vmmon modules for VMware Workstation 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.24-0.38.rc2.git6.fc9/build/include]

Extracting the sources of the vmmon module.

Building the vmmon module.

Building for VMware Workstation 5.5.2 or 5.5.3.
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config3/vmmon-only'
make -C /lib/modules/2.6.24-0.38.rc2.git6.fc9/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/kernels/2.6.24-0.38.rc2.git6.fc9-x86_64'
CC [M] /tmp/vmware-config3/vmmon-only/linux/driver.o
In file included from /tmp/vmware-config3/vmmon-only/./include/vmware.h:25,
from /tmp/vmware-config3/vmmon-only/linux/driver.c:52:
/tmp/vmware-config3/vmmon-only/./include/vm_basic_types.h:168: error: redefinition of typedef ‘uintptr_t’
include/linux/types.h:40: error: previous declaration of ‘uintptr_t’ was here
In file included from /tmp/vmware-config3/vmmon-only/./include/x86.h:23,
from /tmp/vmware-config3/vmmon-only/linux/driver.h:15,
from /tmp/vmware-config3/vmmon-only/linux/driver.c:53:
/tmp/vmware-config3/vmmon-only/./include/x86cpuid.h:381:1: warning: "BIT_MASK" redefined
In file included from include/linux/kernel.h:15,
from /tmp/vmware-config3/vmmon-only/linux/driver.c:15:
include/linux/bitops.h:7:1: warning: this is the location of the previous definition
In file included from /tmp/vmware-config3/vmmon-only/./include/vmci_kernel_defs.h:26,
from /tmp/vmware-config3/vmmon-only/./common/vmciContext.h:19,
from /tmp/vmware-config3/vmmon-only/linux/driver.h:21,
from /tmp/vmware-config3/vmmon-only/linux/driver.c:53:
/tmp/vmware-config3/vmmon-only/./include/compat_wait.h:37:5: warning: "VMW_HAVE_EPOLL" is not defined
/tmp/vmware-config3/vmmon-only/./include/compat_wait.h:43:5: warning: "VMW_HAVE_EPOLL" is not defined
In file included from /tmp/vmware-config3/vmmon-only/./include/vmci_kernel_defs.h:26,
from /tmp/vmware-config3/vmmon-only/./common/vmciContext.h:19,
from /tmp/vmware-config3/vmmon-only/linux/driver.h:21,
from /tmp/vmware-config3/vmmon-only/linux/driver.c:53:
/tmp/vmware-config3/vmmon-only/./include/compat_wait.h:60: error: conflicting types for ‘poll_initwait’
include/linux/poll.h:65: error: previous declaration of ‘poll_initwait’ was here
/tmp/vmware-config3/vmmon-only/linux/driver.c:172: warning: initialization from incompatible pointer type
/tmp/vmware-config3/vmmon-only/linux/driver.c:176: warning: initialization from incompatible pointer type
make[2]: *** [/tmp/vmware-config3/vmmon-only/linux/driver.o] Error 1
make[1]: *** _module_/tmp/vmware-config3/vmmon-only Error 2
make[1]: Leaving directory `/usr/src/kernels/2.6.24-0.38.rc2.git6.fc9-x86_64'
make: *** http://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.
Click to view selinux's profile Enthusiast 117 posts since
Jan 15, 2005

There appear to be some naming conflicts in the source code. I've been working with 6.0.2:

I found conflicts on 'uintptr_t', 'BIT_MASK', etc.

The new kernel obviously has added some new stuff ;)

Also appears the 'autoconf' magic is not working for EPOLL and NICE.

After working around all of that, the kernel won't load the module due to an issue with 'pv_mmu_ops'. Believe the kernel guys are working that issue out.

tom

Click to view clawhead's profile Enthusiast 63 posts since
Dec 10, 2004
I'm getting essentially the same error messages trying to build vmmon for WS 6.02 on kernel 2.6.24-rc3. Guess we'll need to wait for a patch.

<INTROSPECTION> Why do I feel that I have to compile and install the very latest kernel revision (which, incidentally, Patrick Volkerding of Slackware fame calls "sucker kernels")? Is this compensation for not having the latest model car or not living in a fancy house? I don't know.... What's your excuse? All I know is that consequently I almost always have to fix VMware. What sort of sick cycle is this? </INTROSPECTION>

Click to view selinux's profile Enthusiast 117 posts since
Jan 15, 2005

I guess I'm just a sucker for those shiny new kernels....

Seriously, I find that every now and then, I uncover some issue that needs addressing (I've mostly focussed on the SELinux side, but have found issues with laptop variances).

More on 2.6.24 mod....

I have patches that allow vmmon and vmblock to compile and load. This needed some source code changes to vmmon.tar and vmblock.tar to work around some name collisions, etc., and I had to patch and compile a custom kernel to workaround the 'pv_mmu_ops' issue.

After all this, I'm blocked on vmnet. Looks like at least one kernel API has changed: __dev_get_by_name() seems to need 1 more argument.

Undoubtedly, a serious patch from the vmware gods is needed before vmware will play nicely with 2.6.24....

Click to view selinux's profile Enthusiast 117 posts since
Jan 15, 2005

This seems not to work for me:

1. vmmon compile error: I get an error regarding including '<asm/bitops.h>' instead of '<linux/bitops.h>'

2. My Fedora Rawhide kernel has pv_mmu_ops defined as GPL, preventing the loading of the module.

I can work around #1 easily, but #2 means building a custom kernel from the sources, with a patch for pv_mmu_ops, etc.

Am I missing something here?

tom

Click to view carlosrm's profile Lurker 4 posts since
Nov 28, 2007

Hello

This version don't work, I execute runme.pl folling by vmware-config and receive this error

Unknown VMware Workstation 6.0.2 build 59824 detected. Building for Workstation 6.0.0.
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config0/vmmon-only'
make -C /lib/modules/2.6.24-rc3-git3-11-default/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-2.6.24-rc3-git3-11-obj/i386/default'
make -C /usr/src/linux-2.6.24-rc3-git3-11 O=/usr/src/linux-2.6.24-rc3-git3-11-obj/i386/default modules
CC [M] /tmp/vmware-config0/vmmon-only/linux/driver.o
CC [M] /tmp/vmware-config0/vmmon-only/linux/driverLog.o
CC [M] /tmp/vmware-config0/vmmon-only/linux/hostif.o
CC [M] /tmp/vmware-config0/vmmon-only/common/comport.o
CC [M] /tmp/vmware-config0/vmmon-only/common/cpuid.o
In file included from include2/asm/bitops.h:2,
from /tmp/vmware-config0/vmmon-only/./include/vcpuset.h:74,
from /tmp/vmware-config0/vmmon-only/./include/modulecall.h:23,
from /tmp/vmware-config0/vmmon-only/common/vmx86.h:19,
from /tmp/vmware-config0/vmmon-only/common/hostif.h:18,
from /tmp/vmware-config0/vmmon-only/common/cpuid.c:15:
include2/asm/bitops_32.h:9:2: error: #error only <linux/bitops.h> can be included directly
make[4]: *** [/tmp/vmware-config0/vmmon-only/common/cpuid.o] Error 1
make[3]: *** _module_/tmp/vmware-config0/vmmon-only Error 2
make[2]: *** sub-make Error 2
make[1]: *** all Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.24-rc3-git3-11-obj/i386/default'
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.


Carlos

Click to view ayates's profile Lurker 7 posts since
Nov 23, 2007

Selinux,

Could you please explain how you would workaround these problems ?

Thanks.

Click to view clawhead's profile Enthusiast 63 posts since
Dec 10, 2004
I tried any-any-115 yesterday on WS 6.02 with the same negative results.

As much as I like to stay at the forefront of things, I've decided that it's unrealistic to expect VMware to support a kernel that still isn't even released, or at least not as a stable release.

I think I must be growing up ...

Click to view selinux's profile Enthusiast 117 posts since
Jan 15, 2005

Working around problem #1 (complaint about 'asm/bitops.h'): You need to extract the vmmon.tar file, and update the vcpuset.h file in vmmon-only/include.

Just change the '#include "asm/bitops.h"' to '#include "linux/bitops.h"'

http://You may need to repeat this for vmnet.tar, etc..

Working around the pv_mmu_ops issue is a bit more complex. First you need to get the sources for your kernel. On Fedora, get the kernel source rpm and 'install' it.

Next, you need to patch arch/x86/kernel/paravirt_32.c similar to below, and rebuild.

I believe this is 'not a good patch', that is, is probably going against what is happening in the kernel, but it seems to work until VMWare and the kernel 'make friends' again.

arch/x86/kernel/paravirt_32.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

===================================================================

      • a/arch/x86/kernel/paravirt_32.c
+ b/arch/x86/kernel/paravirt_32.c
@@ -440,8 +440,8 @@ struct pv_mmu_ops pv_mmu_ops = {
};

EXPORT_SYMBOL_GPL(pv_time_ops);
-EXPORT_SYMBOL_GPL(pv_cpu_ops);
-EXPORT_SYMBOL_GPL(pv_mmu_ops);
+EXPORT_SYMBOL (pv_cpu_ops);
+EXPORT_SYMBOL (pv_mmu_ops);
EXPORT_SYMBOL_GPL(pv_apic_ops);
EXPORT_SYMBOL_GPL(pv_info);
EXPORT_SYMBOL (pv_irq_ops);

Click to view ayates's profile Lurker 7 posts since
Nov 23, 2007
Selinux,

Thanks, for the explanation. I don't have the "pv_mmu_ops" problem. So, just patching the any-any fixed the "bitops".


I didn't need to patch vmnet.
I also had to patch the iocontrols_compat.h to change the version number from 161 to 167.

Anyway, all is working now.


Thanks again.

Click to view selinux's profile Enthusiast 117 posts since
Jan 15, 2005

Glad you 'up and running'.

Looks like the 'pv_mmu_ops' issue is being resolved (reverted?) in 2.6.24-rc3-git5:

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f97b8954953ba8e692dbb92d99e26b721f7068cd

So there is hope yet!

Click to view mkossmann's profile Novice 19 posts since
Aug 10, 2005
Mark Lord has released some patches to make vmware 6.0.1 working on 2.6.24rc on http://rtr.ca/vmware-2.6.24/ . I've tested them with 6.0.2 and they worked for me.
Mightbe they work also with older versions of vmware.
Click to view ayates's profile Lurker 7 posts since
Nov 23, 2007
I can confirm that they also work for Vmplayer.
My config :

Vmplayer version=2.0.2 build=build-59824
Linux hardy 2.6.24-rc3-git3 #1 SMP PREEMPT Wed Nov 28 15:21:55 EST 2007 i686 GNU/Linux

VMware Developer

SDKs, APIs, Videos, Learn and much more in the Developer community.

Learn More

Developer Sample Code

Increase your developer productivity with VMware API sample code.

Learn More

VMworld Sessions & Labs

Online access to the latest VMworld Sessions & Labs and online services.

Learn more

Purchase PSO Credits Online

Purchase credits to redeem training and consulting services online.

Buy Now

Community Hardware Software

View reported configurations or report your own.

Learn More

VMware vSphere

Come witness the next giant leap in virtualization.

Register Today

Communities