12

vmhgfs module not compilable for VMware Tools 9.9.0 (Fusion7.1) and VMware Tools 9.9.2 (Fusion7.1.1 Build 2496486) after Ubuntu Linux kernel update to 3.13.0-46-generic (Febr. 2015) (Shared Folder Feature of VMware Tools not working in Ubuntu 14.04 LTS (Guest) on MacOSX Yosemite (Host))? 


Hello Community and the VMware Developer Team,


On February, 13th 2015 we lost the Shared Folder Feature between Ubuntu and MacOSX. Probably, the update of the Linux kernel to 3.13.0-46-generic caused this problem (although the existing, compiled vmhgfs module of the VMware Tools in Ubuntu wouldn't be damaged by the Linux kernel update!). We use VMware Fusion 7.0.0 with Ubuntu 14.04 LTS and MacOSX for one year without problems with older Linux kernels. We updated to VMware Fusion 7.1.0 and Fusion7.1.1 Build 2496486 with VMware Tools 9.9.2 in the hope to fix the Shared Folder Feature problem that occured first in vers. 7.0.0.

We can suppose that there is an incompatibility between the compiled vmhgfs module and the new Linux kernel 3.13.0-46-generic.

We tried to reinstall VMware tools 9.9.0 and vers. 9.9.2 but the vmhgfs module couldn't be compiled and the Shared Folder Feature is not working. All other VMware tool features are working fine.

In Ubuntu 14.04 LTS the terminal command lsmod | grep "vm." lists no vmhgfs module

During vmhgfs module compilation there were several "errors" near "/vmhgfs-only/" and "make[]:"


Here is one of our terminal journals for you: 


include/linux/compiler-gcc4.h:14:34: error: ‘struct dentry’ has no member named ‘d_alias’
#define __compiler_offsetof(a,b) __builtin_offsetof(a,b)
                                  ^
include/linux/stddef.h:17:31: note: in expansion of macro ‘__compiler_offsetof’
#define offsetof(TYPE,MEMBER) __compiler_offsetof(TYPE,MEMBER)
                               ^
include/linux/kernel.h:794:29: note: in expansion of macro ‘offsetof’
  (type *)( (char *)__mptr - offsetof(type,member) );})
                             ^
include/linux/list.h:687:40: note: in expansion of macro ‘container_of’
#define hlist_entry(ptr, type, member) container_of(ptr,type,member)
                                        ^
include/linux/list.h:698:15: note: in expansion of macro ‘hlist_entry’
     ____ptr ? hlist_entry(____ptr, type, member) : NULL; \
               ^
include/linux/list.h:710:13: note: in expansion of macro ‘hlist_entry_safe’
       pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member))
             ^
/tmp/modconfig-h4Zwi0/vmhgfs-only/inode.c:1920:7: note: in expansion of macro ‘hlist_for_each_entry’
       hlist_for_each_entry(dentry,
       ^
make[2]: *** [/tmp/modconfig-h4Zwi0/vmhgfs-only/inode.o] Error 1
make[1]: *** [_module_/tmp/modconfig-h4Zwi0/vmhgfs-only] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.13.0-46-generic'
make: *** [vmhgfs.ko] Error 2
make: Leaving directory `/tmp/modconfig-h4Zwi0/vmhgfs-only'

And /mnt/hgfs is empty but folder sharing is enabled for Mac's "Documents" directory for example. If we run vmware-hgfsclient in a terminal, we get the list of shared folders but /mnt/hgfs is empty. 


Could you fix the incompatibility between the vmhgfs module and the new Linux kernel 3.13.0-46-generic, please?

Best regards,

Toni


  • Hi, welcome to askubuntu! We would like to help you with this problem, however, this question is really hard to read. Please try to format your question to make it clearer and more structured. Formatting help: http://askubuntu.com/help/formatting – Merlijn Sebrechts Feb 16 '15 at 20:50
  • Hello Community, our member "DJ" answered already my post. He has the same problem with the vmhgfs module and Shared Folder Feature in VMware Fusion and assumes an incompatibility between the vmhgfs module and the new Linux Kernel 3.13.0-46-generic. "DJ" also made suggestions for a compatible Linux kernel version. Has anyone experience with the latest compatible Linux Kernel version concerning vmhgfs module? "DJ" could you post your command again, please? We could get the vmhgfs module working with downgrading to the latest compatible Linux kernel version. Best regards, Toni – Ecoplacehunter Feb 18 '15 at 10:45
  • The VMware Fusion Pro update to 7.1.1 Build 2496486 on Mac OS X Yosemite and trying to reinstall Vmware tools VMwareTools-9.9.2-2496486 for Ubuntu couldn't fix the vmhgfs module issue. VMwareTools-9.9.2-2496486 is also incompatible with the new Linux kernel 3.13.0-46-generic – Ecoplacehunter Feb 23 '15 at 11:38

3 Answers3

13

The tools can be patched manually. In vmhgfs.tar, inode.c d_alias must be changed to d_u.d_alias , put back to the tar and then recompile tools.

A script that does that (tested on 32-bit ubuntu 14.04, vmware workstation 11.1 on a windows host) is here:

#!/bin/sh -x
cd /usr/lib/vmware-tools/modules/source
tar xf vmhgfs.tar
grep -q d_u.d_alias vmhgfs-only/inode.c && echo "already patched" && exit 0
sed -i -e s/d_alias/d_u.d_alias/ vmhgfs-only/inode.c
cp -p vmhgfs.tar vmhgfs.tar.orig
tar cf vmhgfs.tar vmhgfs-only
vmware-config-tools.pl -d -m

NOTE: this makes the tools incompatible with older kernel versions, i.e. 3.13.0-45.

  • This solution worked for me with a Windows 8.1 host and a 32-bit Ubuntu 14.04.2 LTS guest using VMware player 7.1.0 build-2496824. Thanks! – Taylor T. Johnson May 29 '15 at 15:27
  • Hyvä Viljo !!! The shortest , cleanest and easiest patch fix compared to all the hacky wacky instructions out there: https://www.google.fi/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=include%2Flinux%2Fcompiler-gcc4.h%3A14%3A34%3A%20error%3A%20%E2%80%98struct%20dentry%E2%80%99%20has%20no%20member%20named%20%E2%80%98d_alias%E2%80%99 – Yordan Georgiev Jun 08 '15 at 09:31
  • Seems to be they have fixed it in vmware-tools-9.9.3 – Didar_Uranov Jun 19 '15 at 04:02
  • I can confirm that this patch works on Ubuntu 14.04.2 LTS kernel 3.13.0-48-generic, targetting VMwareTools-9.6.5-2700074 shipped with VMWare Workstation 10.0.7. – Ryan M Jul 27 '15 at 15:32
1

I had the same experience after updating to kernel 3.13.0-46. According to vmware-tools-patches, there isn't a patch available.

The patches do not yet apply successfully with the following Linux kernels:

3.13.x

I fixed vmhgfs by:

  1. Reverting to kernel version 3.13.0-45, either by booting into an older version or rolling back your kernel upgrade then
  2. reinstall vmware-tools.
0

Similarly to @Will Wolcott's answer, the recent changes in vmware-tools-patches works around the issue for me on 14.04 with kernel 3.13.

IsaacS
  • 1,106