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

前端之家收集整理的这篇文章主要介绍了升级到linux-image-3.13.0-46后安装vmware-tools 9.9时出错前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在将我的访客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

)

希望能帮助到你.

猜你在找的Linux相关文章