在Ubuntu内核更新到3.13.0-46之后,vmhgfs模块无法编译VMware Tools 9.9.0 (Fusion7.1)和VMware Tools 9.9.2 (Fusion7.1.1 Build 2496486) -泛型(Febr )。( VMware工具在MacOSX Yosemite (主机)上无法使用Ubuntu14.04LTS(来宾)的共享文件夹功能)?
Hello Community和VMware Developer Team,
2015年2月13日,我们失去了Ubuntu和MacOSX之间的共享文件夹功能。很可能,将Linux内核更新为3.13.0-46-泛型导致了这个问题(尽管Ubuntu中的VMware工具的现有编译vmhgfs模块不会被Linux内核更新破坏!)我们将VMware融合7.0.0与Ubuntu14.04LTS和MacOSX一起使用了一年,没有老内核的问题。我们使用VMware工具9.9.2更新了VMware融合7.1.0和Fusion7.1.1构建2496486,希望解决在vers中首先出现的共享文件夹特性问题。7.0.0.
我们可以假设编译的vmhgfs模块与新的Linux内核3.13.0-46-泛型之间存在不兼容性。
我们尝试重新安装VMware工具9.9.0和vers。9.9.2但是vmhgfs模块无法编译,共享文件夹功能也无法工作。所有其他VMware工具功能都运行良好。
在Ubuntu14.04LTS中,终端命令lsmod \ grep“vm”。没有列出vmhgfs模块。
在vmhgfs模块编译过程中,在“/vmhgfs/”和"make[]:" 附近出现了几个“错误”。
这是我们的终端期刊之一:
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'而且/mnt/hgf是空的,但是对Mac的“文档”目录启用了文件夹共享。如果我们在终端中运行vmware-hgfsclient,我们会得到共享文件夹的列表,但是/mnt/hgf是空的。
您能修复vmhgfs模块与新Linux内核3.13.0-46泛型之间的不兼容性吗?
诚挚的问候,
托尼
发布于 2015-03-03 07:59:17
这些工具可以手工修补。在vmhgfs.tar中,inde.c d_alias必须更改为d_u.d_alias,返回到tar,然后重新编译工具。
这样做的脚本(在32位ubuntu 14.04,在windows主机上的vmware工作站11.1上进行测试)如下:
#!/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注意:这使得这些工具与旧的内核版本(即3.13.0-45 )不兼容。
发布于 2015-03-02 22:53:03
在更新到内核3.13.0-46之后,我也有过同样的经历。根据工具。补丁的说法,没有可用的补丁。
这些修补程序尚未成功地应用于以下Linux内核: 3.13.x
我通过以下方式修正了vmhgfs:
发布于 2015-03-10 12:49:09
类似于@Will Wolcott的回答,最近vmware的变化-工具-补丁在14.04内核3.13中为我解决了这个问题。
https://askubuntu.com/questions/586221
复制相似问题