Login Main site Create account

08.08.2007 15:42

VMware Tools 6.0.0-45731: vmxnet doesn't compile on 2.6.22, patch available


Today someone sent me an e-mail requesting information on about how to compile the VMware Tools 6.0.0-45731 with linux kernel 2.6.22 headers.
First I tried all modules separately and found out, that - on my system - all of them compiled fine, but vmxnet didn't. The error messages were:

vi-edv003:/tmp/vmtest/vmxnet-only# make
Using 2.6.x kernel build system.
make -C /lib/modules/2.6.22.1/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-2.6.22.1'
  CC [M]  /tmp/vmtest/vmxnet-only/vmxnet.o
/tmp/vmtest/vmxnet-only/vmxnet.c: In function 'vmxnet_tx':
/tmp/vmtest/vmxnet-only/vmxnet.c:1220: error: 'struct sk_buff' has no member named 'nh'
/tmp/vmtest/vmxnet-only/vmxnet.c:1222: error: 'struct sk_buff' has no member named 'nh'
/tmp/vmtest/vmxnet-only/vmxnet.c:1223: error: 'struct sk_buff' has no member named 'h'
/tmp/vmtest/vmxnet-only/vmxnet.c:1226: error: 'struct sk_buff' has no member named 'nh'
/tmp/vmtest/vmxnet-only/vmxnet.c:1367: error: 'struct sk_buff' has no member named 'h'
/tmp/vmtest/vmxnet-only/vmxnet.c:1367: error: 'struct sk_buff' has no member named 'h'
/tmp/vmtest/vmxnet-only/vmxnet.c:1367: error: 'struct sk_buff' has no member named 'h'
/tmp/vmtest/vmxnet-only/vmxnet.c:1367: error: 'struct sk_buff' has no member named 'h'
/tmp/vmtest/vmxnet-only/vmxnet.c:1367: error: 'struct sk_buff' has no member named 'h'
/tmp/vmtest/vmxnet-only/vmxnet.c:1367: error: 'struct sk_buff' has no member named 'h'
/tmp/vmtest/vmxnet-only/vmxnet.c:1368: error: 'struct sk_buff' has no member named 'nh'
/tmp/vmtest/vmxnet-only/vmxnet.c:1368: error: 'struct sk_buff' has no member named 'nh'
/tmp/vmtest/vmxnet-only/vmxnet.c:1368: error: 'struct sk_buff' has no member named 'nh'
/tmp/vmtest/vmxnet-only/vmxnet.c:1368: error: 'struct sk_buff' has no member named 'nh'
/tmp/vmtest/vmxnet-only/vmxnet.c:1445: error: 'struct sk_buff' has no member named 'h'
/tmp/vmtest/vmxnet-only/vmxnet.c:1446: error: 'struct sk_buff' has no member named 'h'
make[2]: *** [/tmp/vmtest/vmxnet-only/vmxnet.o] Error 1
make[1]: *** [_module_/tmp/vmtest/vmxnet-only] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.22.1'
make: *** [vmxnet.ko] Error 2
vi-edv003:/tmp/vmtest/vmxnet-only#

Well, sk_buff, my good old friend :)
It wasn't very difficult to patch and therefore I'll provide the patch plus an updated tarball for vmxnet here for your convenience:
Downloads:

Installation Instructions

1. Click on the "Install VMware Tools" option in your Virtual Machine

2. Mount the VMware Tools CD
mount /cdrom

3. Copy the tar.gz file to a temporary location and extract it

cp /cdrom/VMwareTools-6.0.0-45731.tar.gz /tmp
cd /tmp
tar xzf VMwareTools-6.0.0-45731.tar.gz

4. Replace the shipped tarballs with the ones you downloaded here
cp /where/you/downloaded/my/tarballs/*.tar /tmp/vmware-tools-distrib/lib/modules/source

5. Install VMware Tools
cd /tmp/vmware-tools-distrib
./vmware-install.pl

After you did that, all modules should compile flawlessly.
If they don't, don't hesitate to contact me.
Comments added earlier to http://tuxx-home.at/archives/2007/08/08/T15_42_29/index.html:
Guest on 2007-09-01 06:50:15 wrote:
this is really cool! thx for help!!!
Guest on 2007-11-09 02:09:53 wrote:
Could you elaborate on what you did? What is the sk_buff problem, and how did you solve it?

Thank you.
Alexander Griesser on 2007-11-09 08:30:04 wrote:
Look at the diff, it is all well explained in there ;)
Guest on 2007-12-03 12:36:56 wrote:
Thank you!
Guest on 2008-01-21 15:54:28 wrote:
thanks for the help. your fix worked for me as well.

Your comment (HTML tags will be stripped !!):

To verify You are not a bot, type down text from this image.

Your try: