Highlighted
Contributor
Contributor

VMware Tools Compile Problem

Jump to solution

I am running Ubuntu 13.10 (beta) with Linux Kernel 3.11.0-7 as a Guest OS under VMware Fusion 6.0.0 (1296151) on my Macbook (Mac OS X 10.8.4).

I attempted to install VMware Tools 9.6.0 Build-1294478 and got the following errors during the shared folder configuration compile.

  CC [M]  /tmp/modconfig-j0IFhU/vmhgfs-only/inode.o

/tmp/modconfig-j0IFhU/vmhgfs-only/inode.c: In function ‘HgfsPermission’:

/tmp/modconfig-j0IFhU/vmhgfs-only/inode.c:1893:29: error: ‘struct dentry’ has no member named ‘d_count’

          int dcount = dentry->d_count;

                             ^

make[2]: *** [/tmp/modconfig-j0IFhU/vmhgfs-only/inode.o] Error 1

make[1]: *** [_module_/tmp/modconfig-j0IFhU/vmhgfs-only] Error 2

make[1]: Leaving directory `/usr/src/linux-headers-3.11.0-5-generic'

make: *** [vmhgfs.ko] Error 2

make: Leaving directory `/tmp/modconfig-j0IFhU/vmhgfs-only'

I realise that Ubuntu and the Kernel are not finalised but didn't see this problem until Ubuntu Update-Manager installed the 3.11 Kernel series. Any ideas how to overcome this issue appreciated.

25 Replies
Highlighted
Contributor
Contributor

A VMware support engineer told me today that this is fixed in Fusion 6.0.2, released today. Haven't had the time to check it out myself, though.

0 Kudos
Highlighted
Contributor
Contributor

I have built a new Ubuntu 13.10 Guest with 6.0.2 and I am pleased to report that the Tools compile fine. Thanks go out to the VMWare Supports guys 🙂

0 Kudos
Highlighted
Contributor
Contributor

Hi Steve,

I just installed CentOS 7 and ran into this error.  It seems your fix to inode.c is in the version of VMWare tools I have (Fusion 6.0.4) so the patch posted above doesn't work.  I managed to fix it with the following change (file sharing is working for me now):

vmhgfs-only/shared/compat_dcache.h, line 54:

- #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0)

+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)

I don't know if this is the right thing to do, but it looks like kernel 3.10 has the same change to 'dentry' that 3.11 has.

Regards,

Rob

Highlighted

Hi Rob,

It seems that CentOS 7 has done the same as RHEL 7 and back-ported some changes, like the dentry field migration, that were introduced in the kernel 3.11 to a version based on Linux 3.10.

This has been addressed by me internally, and so far and will be in the Fusion 7 release and I am pretty sure it is in the Fusion 7 TP2 release that is available right now.

Having said that, your change is okay for local build in that CentOS 7 VM, but our general fix has to be a little more complicated to cover both situations where OS on Linux kernel 3.10 may not have the changes backported and others that do. Smiley Happy

So you should be good to go with your modification for that CentOS 7 VM and others that have this issue, but for some versions of Linux you maybe okay without modification to the shipping version.

Steve

Thanks. Steve
0 Kudos
Highlighted
Contributor
Contributor

I can confirm this worked for me on Centos 7 and now my shared folders are working again.

Thanks

0 Kudos
Highlighted
Contributor
Contributor

Hi Steve,

Thanks for the detailed replay!  I did try the latest Fusion TP a few days back and it doesn't look like the fix is there as yet.   The same change works though, if anyone wants to do it.   Meanwhile, here are the exact steps for those of us stuck on Fusion 6 for the moment...

tar xvf VMwareTools-9.6.2-1688356.tar.gz

cd vmware-tools-distrib/lib/modules/source

tar xvf vmhgfs.tar

sed -i 's/3, 11, 0/3, 10, 0/g' vmhgfs-only/shared/compat_dcache.h

tar cvf vmhgfs.tar vmhgfs-only

cd ../../..

./vmware-install.sh

0 Kudos