ubuntu 客户机安装VMware tools时出现编译错误,无法与主机共享文件(转)

主机:win7旗舰版

vmware workstation 10.0.7 (其他10.x版本也有这个问题)

客户机:Ubuntu14.04.4-16.x

安装vmware tools时出现下列编译错误,共享文件夹的功能不能实现,剪贴板等正常。

下面是部分错误代码:

  1. <span style="font-size:14px;">/tmp/modconfig-O5xscq/vmhgfs-only/dir.c: In function ‘HgfsPackDirOpenRequest’:  
  2. /tmp/modconfig-O5xscq/vmhgfs-only/dir.c:417:26: error: ‘struct file’ has no member named ‘f_dentry’  
  3.                       file->f_dentry) < 0) {  
  4.                           ^  
  5. /tmp/modconfig-O5xscq/vmhgfs-only/dir.c: In function ‘HgfsDirLlseek’:  
  6. /tmp/modconfig-O5xscq/vmhgfs-only/dir.c:707:32: error: ‘struct file’ has no member named ‘f_dentry’  
  7.     struct dentry *dentry = file->f_dentry;  
  8.                                 ^  
  9. In file included from /tmp/modconfig-O5xscq/vmhgfs-only/dir.c:39:0:  
  10. /tmp/modconfig-O5xscq/vmhgfs-only/dir.c: In function ‘HgfsReaddirNextEntry’:  
  11. /tmp/modconfig-O5xscq/vmhgfs-only/dir.c:993:31: error: ‘struct file’ has no member named ‘f_dentry’  
  12.     si = HGFS_SB_TO_COMMON(file->f_dentry->d_inode->i_sb);  
  13.                                ^  
  14. /tmp/modconfig-O5xscq/vmhgfs-only/module.h:89:62: note: in definition of macro ‘HGFS_SB_TO_COMMON’  
  15. #define HGFS_SB_TO_COMMON(sb)             ((HgfsSuperInfo *)(sb)->s_fs_info)  
  16.                                                               ^  
  17. /tmp/modconfig-O5xscq/vmhgfs-only/dir.c:1082:26: error: ‘struct file’ has no member named ‘f_dentry’  
  18.           *entryIno = file->f_dentry->d_inode->i_ino;  
  19.                           ^  
  20. In file included from /tmp/modconfig-O5xscq/vmhgfs-only/dir.c:30:0:  
  21. /tmp/modconfig-O5xscq/vmhgfs-only/dir.c:1088:44: error: ‘struct file’ has no member named ‘f_dentry’  
  22.           *entryIno = compat_parent_ino(file->f_dentry);  
  23.                                             ^  
  24. /tmp/modconfig-O5xscq/vmhgfs-only/./shared/compat_fs.h:120:46: note: in definition of macro ‘compat_parent_ino’  
  25. #define compat_parent_ino(dentry) parent_ino(dentry)  
  26.                                               ^  
  27. /tmp/modconfig-O5xscq/vmhgfs-only/dir.c:1093:52: error: ‘struct file’ has no member named ‘f_dentry’  
  28.       *entryIno = HgfsGetFileInode(&entryAttrs, file->f_dentry->d_inode->i_sb);  
  29.                                                     ^  
  30. /tmp/modconfig-O5xscq/vmhgfs-only/dir.c: In function ‘HgfsDoReaddir’:  
  31. /tmp/modconfig-O5xscq/vmhgfs-only/dir.c:1173:13: error: ‘struct file’ has no member named ‘f_dentry’  
  32.        !(file->f_dentry) ||  
  33.              ^  
  34. /tmp/modconfig-O5xscq/vmhgfs-only/dir.c:1174:13: error: ‘struct file’ has no member named ‘f_dentry’  
  35.        !(file->f_dentry->d_inode)) {  
  36.              ^  
  37. scripts/Makefile.build:257: recipe for target '/tmp/modconfig-O5xscq/vmhgfs-only/dir.o' failed  
  38. make[2]: *** [/tmp/modconfig-O5xscq/vmhgfs-only/dir.o] Error 1  
  39. make[2]: ** Esperando que outros processos terminem.  
  40. Makefile:1394: recipe for target '_module_/tmp/modconfig-O5xscq/vmhgfs-only' failed  
  41. make[1]: *** [_module_/tmp/modconfig-O5xscq/vmhgfs-only] Error 2  
  42. make[1]: Leaving directory '/usr/src/linux-headers-3.19.0-15-generic'  
  43. Makefile:120: recipe for target 'vmhgfs.ko' failed  
  44. make: *** [vmhgfs.ko] Error 2  
  45. make: Leaving directory '/tmp/modconfig-O5xscq/vmhgfs-only'  
  46. </span>  

解决方法:

1. 确保 open-vm-tools没有安装。

sudo apt-get remove open-vm-tools

2.确保完成更新

sudo apt-get update

3.安装了git

sudo apt-get install git

4.运行命令从库中获取工具.

sudo git clone https://github.com/rasa/vmware-tools-patches.git

或者

sudo git clone https://github.com/rasa/vmware-tools-patches

5.进入vmware-tools-folder目录

cd vmware-tools-patches

6.运行补丁下载工具

sudo ./download-tools.sh 

下载所有的补丁,或者

sudo ./download-tools.sh latest

下载最新的补丁

7.解压并打补丁

sudo ./untar-and-patch.sh

8.运行 complie.sh file

sudo ./compile.sh

下面的图片就是我打完补丁后的共享文件夹截图:

本文转自:https://communities.vmware.com/thread/509898?start=0&tstart=0

原文中是在vmware workstation 11中安装Ubuntu 15.04,但是经过测试,在vmware 10中安装Ubuntu 14.04也可以使用同样的解决方法

原文地址:https://www.cnblogs.com/xihong2014/p/8695217.html