分类: LINUX
2014-11-26 10:29:52
首先得解决包依赖问题,常识,否则安装不上去,有几个是必须的,然后再进行一下更新操作,保证内核是最新版本就OK。
一切都准备就绪,看起来如此美好,但结果是忧伤的,一不小心报了一个致命错误,并且解释的很清楚,看起来必须得解决,否者将不能使用vmhgfs,也就是共享文件夹就废了,而我现在需要的就是这个。
/tmp/modconfig-ygOywn/vmhgfs-only/inode.c: 在函数‘HgfsPermission’中: /tmp/modconfig-ygOywn/vmhgfs-only/./shared/compat_dcache.h:57:38: 错误:‘struct dentry’没有名为‘d_count’的成员 #define compat_d_count(dentry) dentry->d_count ^ /tmp/modconfig-ygOywn/vmhgfs-only/inode.c:1904:23: 附注:in expansion of macro compat_d_count’ int dcount = compat_d_count(dentry);
解决的办法只有一个,修改源码,听起来很简单的,确实。
[root@localhost ~]# cd vmware-tools-distrib/lib/modules/source/ [root@localhost source]# ls legacy vmblock.tar vmhgfs.tar vmsync.tar vmxnet.tar pvscsi.tar vmci.tar vmmemctl.tar vmxnet3.tar vsock.tar [root@localhost source]# tar -xf vmhgfs.tar [root@localhost source]# ls legacy vmblock.tar vmhgfs-only vmmemctl.tar vmxnet3.tar vsock.tar pvscsi.tar vmci.tar vmhgfs.tar vmsync.tar vmxnet.tar [root@localhost source]# cd vmhgfs-only/ [root@localhost vmhgfs-only]# ls backdoor.c dir.c hgfsTransport.h request.h ........................................ [root@localhost vmhgfs-only]# cd shared/ [root@localhost shared]# vim compat_dcache.h
我也不知道这么一大段有几个人能明白,简单点说就是找到vmhgfs.tar源文件,然后解压,再编辑源文件compat_dcache.h,找到第57行可以看到如下信息。
最后重新打包,然后再次运行就OK,过程如下。
[root@localhost source]# tar -cf vmhgfs.tar vmhgfs-only/ [root@localhost source]# ls legacy vmblock.tar vmhgfs-only vmmemctl.tar vmxnet3.tar vsock.tar pvscsi.tar vmci.tar vmhgfs.tar vmsync.tar vmxnet.tar [root@localhost source]# rm -rf vmhgfs-only/ [root@localhost source]# ll 总用量 8456 drwxr-xr-x. 1 root root 162 3月 22 2014 legacy -rw-r--r--. 1 root root 1392640 10月 10 23:02 vmhgfs.tar ......................... [root@localhost modules]# cd ../../../ [root@localhost vmware-tools-distrib]# ./vmware-install.pl