VMware Communities
exiledpoacher
Contributor
Contributor
Jump to solution

VMware Tools Compile Problem

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
ujay68
Contributor
Contributor
Jump to solution

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.

Reply
0 Kudos
exiledpoacher
Contributor
Contributor
Jump to solution

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 🙂

Reply
0 Kudos
blargony
Contributor
Contributor
Jump to solution

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

steve_goddard
VMware Employee
VMware Employee
Jump to solution

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
Reply
0 Kudos
werebat
Contributor
Contributor
Jump to solution

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

Thanks

Reply
0 Kudos
blargony
Contributor
Contributor
Jump to solution

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

Reply
0 Kudos