VMware Communities
jhsnyder
Contributor
Contributor

vmblock.c compile error with vm workstation 6.0.4 & linux kernel 2.6.25

install of vmware workstation 6.0.5-93057 x86_64 fails with kernel 2.6.25 with these error messages:

CC /tmp/vmware-config3/vmblock-only/linux/dentry.o

/tmp/vmware-config3/vmblock-only/linux/dentry.c: In function 'DentryOpRevalidate':

/tmp/vmware-config3/vmblock-only/linux/dentry.c:101: error: 'struct nameidata' has no member named 'dentry'

/tmp/vmware-config3/vmblock-only/linux/dentry.c:101: error: 'struct nameidata' has no member named 'dentry'

/tmp/vmware-config3/vmblock-only/linux/dentry.c:102: error: implicit declaration of function 'path_release'

make[2]: *** Error 1

make[1]: *** Error 2

make[1]: Leaving directory `/usr/src/kernels/2.6.25.6-27.fc8-x86_64'

make: *** http://vmblock.ko Error 2

make: Leaving directory `/tmp/vmware-config3/vmblock-only'

Unable to build the vmblock module.

I'm running Fedora Core 8 on a Dell Latitude D830 (laptop) Core 2 Duo w/4G memory. Standard FC8 with updates using Fedora and livna repos via yum.

uname -a emits:

Linux labrea 2.6.25.6-27.fc8 #1 SMP Fri Jun 13 16:17:54 EDT 2008 x86_64 x86_64 x86_64 GNU/Linux

I have searched on vmware.com using a variety of keywords and turned up zilch. If there's a discussion, patch, and/or some other simple fix on the vmware.com site, I'd appreciate a link.

I've also googled on the big wild web and see that:

1) This is apparently a well-known problem with Ubuntu and Debian, not just Fedora, and people have developed patches for it:

http://blog.creonfx.com/linux/how-to-install-vmware-player-workstation-on-2625-kernel

I am however reluctant to apply random patches from random web sites.

2) it's a problem with vmplayer as well.

3) similar problems with the 6.0.3 release.

4) there's apparently another problem once vmblock compiles, that the clock races ahead by something like 4x realtime in the guest OS. I'm not sure whether the patches at the link fix that problem or not.

Looking for a solution endorsed by vmware.com here.

vmware is not usable once a machine has been upgraded to the 2.6.25 kernel.. surprisingly, it will start the guest OS, but the 4x clock in the guest is problematic.

tx, jhs

Reply
0 Kudos
7 Replies
jhsnyder
Contributor
Contributor

I browsed the patches at the link I provided. They seemed not-problematic, so I went ahead and installed them. (My company's IT Gawds will doubtless crucify me, if that's not mixing too many metaphors.)

I had to edit the patches, as two matches didn't.

My comments at the link, assuming the moderator doesn't kill them.

However the guest OS clock is running 4x real-time, give or take a factor of 2.

I think there's still value in a vmware.com intervention here.

Reply
0 Kudos
nick4ph
Contributor
Contributor

Hello,

please try this patch, it worked for me with 2.6.26 even:

Thanks.

Reply
0 Kudos
Karlheinz_mk
Contributor
Contributor

Thanks for your hint!

Are there corresponding reliable patches for vmmon / vmnet etc.?

Reply
0 Kudos
nick4ph
Contributor
Contributor

Hello,

Here are patched source fro vmmon an vmnet , you can diff with original to see changes.

Thank you.

Reply
0 Kudos
Karlheinz_mk
Contributor
Contributor

Thank you for your quick response!

Reply
0 Kudos
largesingularit
Contributor
Contributor

I discovered an error in the above vmnet.tar patch set that prevented compilation (implicitly defined function "dev_net"). Platform is OpenSuse 11.0 on x86_64 SMP.

I've inserted a preprocessor #define into vmnetInt.h that seems to have fixed it, but its probably not defined where you would want it. Anyways,the additional patch is below.

Cheers,

-Steve

-


diff -rc vmnet-only/vmnetInt.h vmnet-only-new/vmnetInt.h

      • vmnet-only/vmnetInt.h 2008-06-23 19:21:38.000000000 -0700

--- vmnet-only-new/vmnetInt.h 2008-07-31 21:36:53.000000000 -0700

      • 63,68 ****

--- 63,74 -


  1. # define dev_lock_list() read_lock(&dev_base_lock)

  1. # define dev_unlock_list() read_unlock(&dev_base_lock)

  1. # ifdef VMW_NETDEV_HAS_NET

+

+ /*

  • * SCV:31Jul2008: define macro for missing dev_net() function call
+

+ */

  1. # define dev_net(x) (x)->nd_net
+

+

  1. # define DEV_GET(x) __dev_get_by_name(dev_net((x)->internalDev), (x)->name)

  1. # else

  1. # define DEV_GET(x) __dev_get_by_name((x)->name)

Reply
0 Kudos
sprotsman
Contributor
Contributor

Thanks for the patch. How do I apply it? What I tried was this:

~tmp] cp /usr/lib/vmware/modules/source/vmblock.tar ~/tmp/

~tmp] tar xf vmblock

~tmp] cp vmblock-2.6.26.patch vmblock-only/

~tmp] cd vmblock-only

~tmp] patch -p0 < vmblock-2.6.26.patch

can't find file to patch at input line 4

Perhaps you used the wrong -p or --strip option?

The text leading up to this was:

-


|diff -Naur vmblock-only/autoconf/cachecreate.c vmblock-only.new/autoconf/cachecreate.c

|--- vmblock-only/autoconf/cachecreate.c 2008-05-16 08:59:29.000000000 +0300

|+++ vmblock-only.new/autoconf/cachecreate.c 2007-11-28 12:35:45.000000000 +0200

-


File to patch:

^c

What might I be doing wrong?

Reply
0 Kudos