首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Ubuntu内核更新到3.13.0-46之后,vmhgfs模块无法为VMware工具9.9.0 (Fusion7.1)编译-泛型?

在Ubuntu内核更新到3.13.0-46之后,vmhgfs模块无法为VMware工具9.9.0 (Fusion7.1)编译-泛型?
EN

Ask Ubuntu用户
提问于 2015-02-16 17:16:02
回答 3查看 12.2K关注 0票数 12

在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[]:"
附近出现了几个“错误”。

这是我们的终端期刊之一:


代码语言:javascript
复制
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泛型之间的不兼容性吗?

诚挚的问候,

托尼


EN

回答 3

Ask Ubuntu用户

发布于 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上进行测试)如下:

代码语言:javascript
复制
#!/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 )不兼容。

票数 13
EN

Ask Ubuntu用户

发布于 2015-03-02 22:53:03

在更新到内核3.13.0-46之后,我也有过同样的经历。根据工具。补丁的说法,没有可用的补丁。

这些修补程序尚未成功地应用于以下Linux内核: 3.13.x

我通过以下方式修正了vmhgfs

  1. 然后通过引导到旧版本回滚内核升级恢复到内核版本3.13.0-45
  2. 重新安装vmware-工具
票数 1
EN

Ask Ubuntu用户

发布于 2015-03-10 12:49:09

类似于@Will Wolcott的回答,最近vmware的变化-工具-补丁在14.04内核3.13中为我解决了这个问题。

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/586221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档