微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

升级到linux-image-3.13.0-46后安装vmware-tools 9.9时出错

@H_502_1@在将我的访客ubuntu升级linux-image-3.13.0-46之后,我收到了安装vmware-tools的错误,我无法再共享文件夹了.

我在Windows 8和Ubuntu 14.04 LTS主机上都运行了vmware播放器7.0.0 build-2305329,在安装过程中我发现了以下错误

from /tmp/modconfig-NVbKuD/vmhgfs-only/inode.c:29:
include/linux/kernel.h:793:27: error: ‘struct dentry’ has no member named ‘d_alias’
  const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                           ^

有关此问题的解决方法吗?

谢谢

解决方法

vmware工具 – disTRIB-9.9.2-2496486:

我已经通过转到vmhgfs.tar所在的目录(在我的情况下为/usr/lib / vmware-tools / modules / source)解决了问题,解压缩tar并手动编辑inode.c.

在第1925行(只需搜索“d_alias”以找到确切的行),您需要添加一个if.最后看起来像这样:

#if LINUX_VERSION_CODE < KERNEL_VERSION(3,13,0)
                           d_alias) {
#else
                           d_u.d_alias) {
#endif

然后再次围绕1983行(再次搜索“d_alias”):

#if LINUX_VERSION_CODE < KERNEL_VERSION(3,0)
         struct dentry *dentry = list_entry(pos,struct dentry,d_alias);
#else
         struct dentry *dentry = list_entry(pos,d_u.d_alias);
#endif

警告:在内核版本上不确定,但我已经把它放在那里3,0虽然我的Ubuntu报告:

# uname -a
Linux md-ubuntu 3.13.0-46-generic #76-Ubuntu SMP Thu Feb 26 18:52:13 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

3.13.0-45这个工作正常.

因此,如果你降级内核,上面的hack将无法正常工作.

然后你需要再次打包tar档案(只需将旧档案移开:

# mv vmhgfs.tar vmhgfs.tar.orig

并再次打包目录:

# tar cvf vmhgfs.tar vmhgfs-only

)

希望能帮助到你.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐