Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了升级到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,在@R_92_9382@我发现了以下错误: from /tmp/modconfig-NVbKuD/vmhgfs-only/inode.c
在将我的访客ubuntu升级linux-image-3.13.0-46之后,我收到了安装vmware-tools的错误,我无法再共享文件夹了.

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

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-image-3.13.0-46后安装vmware-tools 9.9时出错全部内容,希望文章能够帮你解决升级到linux-image-3.13.0-46后安装vmware-tools 9.9时出错所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。