虚拟机安装vmtools 共享文件夹失败 错误:error: ‘struct dentry’ has no member named ‘d_alias’

在尝试安装VMware Tools时,遇到编译错误提示:'struct dentry' 没有名为'd_alias'的成员。该问题阻碍了共享文件夹功能的正常使用。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

一直安装但是总是会安装编译时出现以上的错误

error: ‘struct dentry’ has no member named ‘d_alias’

<pre name="code" class="cpp">/tmp/modconfig-ESluHO/vmhgfs-only/inode.c: In function ‘HgfsPermission’:
/tmp/modconfig-ESluHO/vmhgfs-only/inode.c:1978:34: error: ‘struct dentry’ has no member named ‘d_alias’
/tmp/modconfig-ESluHO/vmhgfs-only/inode.c:1978:34: warning: initialisation from incompatible pointer type [enabled by default]
/tmp/modconfig-ESluHO/vmhgfs-only/inode.c:1978:34: warning: (near initialisation for ‘dentry’) [enabled by default]
/tmp/modconfig-ESluHO/vmhgfs-only/inode.c:1978:34: error: ‘struct dentry’ has no member named ‘d_alias’
CC [M] /tmp/modconfig-ESluHO/vmhgfs-only/request.o
make[2]: *** [/tmp/modconfig-ESluHO/vmhgfs-only/inode.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [module/tmp/modconfig-ESluHO/vmhgfs-only] Error 2
make[1]: Leaving directory /usr/src/linux-headers-3.2.0-76-generic' 
make: *** [vmhgfs.ko] Error 2 
make: Leaving directory/tmp/modconfig-ESluHO/vmhgfs-only'


 
 
 

最后我终于在github上找到原因,其实就是这个结构体的成员变量换名了而已。

第一步:
首先解压你的tgz安装包,我这里的安装包名称是 VMwareTools-9.6.1-1378637.tar.gz
1.然后进入源文件文件夹
# cd vmware-tools-distrib/lib/modules/source/ 

2.将vmhgfs.tar进行解压
# tar cvf vmhgfs.tar

3.编辑解压出来的源文件
# vi vmhgfs-only/inode.c 

4.使用vi命令行模式输入命令
":%s/d_alias/d_u.d_alias/g"   (命令为引号内的) 执行之后保存退出.

5.将压缩包压缩回原tar包
tar cvf vmhgfs.tar vmhgfs-only

6.回到安装目录vmware-tools-distrib进行安装vmtools
# sudo ./vmware-install.pl

第二步:

安装步骤一直回车确认就行,安装好后,设置下虚拟机的共享文件夹,就OK啦!

补充一下:最好使用虚拟机10.0以上版本,低版本虚拟机都有可能出现这种错误,并且这方法也不一定都管用。VMwareTools-10.0.6-3595377.tar.gz 这个版本在vmware workstation 12.0上就很好用,其实是虚拟机问题,不是系统问题。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值