您的位置:首页 > 其它

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

2015-03-05 17:58 453 查看

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

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上就很好用,其实是虚拟机问题,不是系统问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐