web-dev-qa-db-ja.com

VMware Toolsのインストール中に「エラー:関数「vfs_readlink」の暗黙的な宣言」

しばらくの間、OSX MavericksHostにFedora20 VMware Fusion 6.0.4Boxのvmwareツールを再インストールしようとしています。 Fedoraのアップデート後、ホストからDrop Boxにアクセスして、ウィンドウのサイズを簡単に変更できるようにする必要がありました。

しかし、今はこれらのエラーが発生し続けており、すべてをインストールした後に再試行しても機能しないようです。この失敗の原因となる警告とエラーのある最後の部分をここで参照してください。

make
gcc
kernel headers of the running kernel


Searching for GCC...
Detected GCC binary at "/bin/gcc".
The path "/bin/gcc" appears to be a valid path to the gcc binary.
Would you like to change it? [no] 

Searching for a valid kernel header path...
Detected the kernel headers at 
"/lib/modules/3.15.5-200.fc20.i686/build/include".
The path "/lib/modules/3.15.5-200.fc20.i686/build/include" appears to be a 
valid path to the 3.15.5-200.fc20.i686 kernel headers.
Would you like to change it? [no] 

Using 2.6.x kernel build system.
make: Entering directory `/tmp/modconfig-F7dG4u/vmhgfs-only'
/bin/make -C /lib/modules/3.15.5-200.fc20.i686/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/kernels/3.15.5-200.fc20.i686'
  CC [M]  /tmp/modconfig-F7dG4u/vmhgfs-only/message.o
In file included from /tmp/modconfig-F7dG4u/vmhgfs-only/backdoor.h:30:0,
                 from /tmp/modconfig-F7dG4u/vmhgfs-only/message.c:54:
/tmp/modconfig-F7dG4u/vmhgfs-only/./shared/vm_assert.h:259:0: warning: "DEPRECATED" redefined [enabled by default]
    #define DEPRECATED(_fix) do {} while (0)
 ^
In file included from include/linux/kernel.h:13:0,
                 from /tmp/modconfig-F7dG4u/vmhgfs-only/./shared/kernelStubs.h:36,
                 from /tmp/modconfig-F7dG4u/vmhgfs-only/message.c:45:
include/linux/printk.h:92:0: note: this is the location of the previous definition
 #define DEPRECATED "[Deprecated]: "
 ^
  CC [M]  /tmp/modconfig-F7dG4u/vmhgfs-only/dir.o
In file included from /tmp/modconfig-F7dG4u/vmhgfs-only/hgfs.h:40:0,
                 from /tmp/modconfig-F7dG4u/vmhgfs-only/hgfsProto.h:37,
                 from /tmp/modconfig-F7dG4u/vmhgfs-only/dir.c:37:
/tmp/modconfig-F7dG4u/vmhgfs-only/./shared/vm_assert.h:259:0: warning: "DEPRECATED" redefined [enabled by default]
    #define DEPRECATED(_fix) do {} while (0)
 ^
In file included from include/linux/kernel.h:13:0,
                 from /usr/src/kernels/3.15.5-200.fc20.i686/Arch/x86/include/asm/percpu.h:44,
                 from /usr/src/kernels/3.15.5-200.fc20.i686/Arch/x86/include/asm/preempt.h:5,
                 from include/linux/preempt.h:18,
                 from include/linux/spinlock.h:50,
                 from include/linux/seqlock.h:35,
                 from include/linux/time.h:5,
                 from include/linux/stat.h:18,
                 from include/linux/module.h:10,
                 from /tmp/modconfig-F7dG4u/vmhgfs-only/dir.c:29:
include/linux/printk.h:92:0: note: this is the location of the previous definition
 #define DEPRECATED "[Deprecated]: "
 ^
  CC [M]  /tmp/modconfig-F7dG4u/vmhgfs-only/rpcout.o
In file included from /tmp/modconfig-F7dG4u/vmhgfs-only/./shared/vmware.h:39:0,
                 from /tmp/modconfig-F7dG4u/vmhgfs-only/rpcout.c:43:
/tmp/modconfig-F7dG4u/vmhgfs-only/./shared/vm_assert.h:259:0: warning: "DEPRECATED" redefined [enabled by default]
    #define DEPRECATED(_fix) do {} while (0)
 ^
In file included from include/linux/kernel.h:13:0,
                 from /tmp/modconfig-F7dG4u/vmhgfs-only/./shared/kernelStubs.h:36,
                 from /tmp/modconfig-F7dG4u/vmhgfs-only/rpcout.c:33:
include/linux/printk.h:92:0: note: this is the location of the previous definition
 #define DEPRECATED "[Deprecated]: "
 ^
  CC [M]  /tmp/modconfig-F7dG4u/vmhgfs-only/hgfsUtil.o
In file included from /tmp/modconfig-F7dG4u/vmhgfs-only/hgfs.h:40:0,
                 from /tmp/modconfig-F7dG4u/vmhgfs-only/hgfsUtil.h:55,
                 from /tmp/modconfig-F7dG4u/vmhgfs-only/hgfsUtil.c:33:
/tmp/modconfig-F7dG4u/vmhgfs-only/./shared/vm_assert.h:259:0: warning: "DEPRECATED" redefined [enabled by default]
    #define DEPRECATED(_fix) do {} while (0)
 ^
In file included from include/linux/kernel.h:13:0,
                 from /usr/src/kernels/3.15.5-200.fc20.i686/Arch/x86/include/asm/percpu.h:44,
                 from /usr/src/kernels/3.15.5-200.fc20.i686/Arch/x86/include/asm/preempt.h:5,
                 from include/linux/preempt.h:18,
                 from include/linux/spinlock.h:50,
                 from include/linux/seqlock.h:35,
                 from include/linux/time.h:5,
                 from /tmp/modconfig-F7dG4u/vmhgfs-only/hgfsUtil.h:32,
                 from /tmp/modconfig-F7dG4u/vmhgfs-only/hgfsUtil.c:33:
include/linux/printk.h:92:0: note: this is the location of the previous definition
 #define DEPRECATED "[Deprecated]: "
 ^
  CC [M]  /tmp/modconfig-F7dG4u/vmhgfs-only/cpName.o
  CC [M]  /tmp/modconfig-F7dG4u/vmhgfs-only/link.o
In file included from /tmp/modconfig-F7dG4u/vmhgfs-only/hgfs.h:40:0,
                 from /tmp/modconfig-F7dG4u/vmhgfs-only/hgfsProto.h:37,
                 from /tmp/modconfig-F7dG4u/vmhgfs-only/module.h:39,
                 from /tmp/modconfig-F7dG4u/vmhgfs-only/link.c:32:
/tmp/modconfig-F7dG4u/vmhgfs-only/./shared/vm_assert.h:259:0: warning: "DEPRECATED" redefined [enabled by default]
    #define DEPRECATED(_fix) do {} while (0)
 ^
In file included from include/linux/kernel.h:13:0,
                 from /usr/src/kernels/3.15.5-200.fc20.i686/Arch/x86/include/asm/percpu.h:44,
                 from /usr/src/kernels/3.15.5-200.fc20.i686/Arch/x86/include/asm/preempt.h:5,
                 from include/linux/preempt.h:18,
                 from include/linux/spinlock.h:50,
                 from include/linux/wait.h:8,
                 from include/linux/fs.h:6,
                 from /tmp/modconfig-F7dG4u/vmhgfs-only/./shared/compat_fs.h:22,
                 from /tmp/modconfig-F7dG4u/vmhgfs-only/link.c:29:
include/linux/printk.h:92:0: note: this is the location of the previous definition
 #define DEPRECATED "[Deprecated]: "
 ^
/tmp/modconfig-F7dG4u/vmhgfs-only/link.c: In function ‘HgfsReadlink’:
/tmp/modconfig-F7dG4u/vmhgfs-only/link.c:186:10: error: implicit declaration of function ‘vfs_readlink’ [-Werror=implicit-function-declaration]
          error = vfs_readlink(dentry, buffer, buflen, fileName);
          ^
cc1: some warnings being treated as errors
make[2]: *** [/tmp/modconfig-F7dG4u/vmhgfs-only/link.o] Error 1
make[1]: *** [_module_/tmp/modconfig-F7dG4u/vmhgfs-only] Error 2
make[1]: Leaving directory `/usr/src/kernels/3.15.5-200.fc20.i686'
make: *** [vmhgfs.ko] Error 2
make: Leaving directory `/tmp/modconfig-F7dG4u/vmhgfs-only'

The filesystem driver (vmhgfs module) is used only for the shared folder 
feature. The rest of the software provided by VMware Tools is designed to work 
independently of this feature.

If you wish to have the shared folders feature, you can install the driver by 
running vmware-config-tools.pl again after making sure that gcc, binutils, make
and the kernel sources for your running kernel are installed on your machine. 
These packages are available on your distribution's installation CD.

セットアップを完了することはできますが、実際には正しくインストールされません-共有フォルダーがマウントされていません(フォルダーはコンテンツなしで表示されます)-そしてこの最後の警告も表示されます

Found VMware Tools CDROM mounted at /run/media/jfrumau/VMware Tools. Ejecting 
device /dev/sr0 ...
/sbin/restorecon:  Warning no default label for /tmp/vmware-block-restore0/tmp_file

この問題に関するアイデア(vmhgfsモジュールに関連しているようです)があるので、共有フォルダーが再びマウントされ、すべてが機能しますか?

2
rhand

リストされているパッチに加えて ここ パッチを適用する必要がありますlink.c from vmhgfs.tar

184a185
> #if LINUX_VERSION_CODE <= KERNEL_VERSION(3, 14, 99)
187a189,194
> #else
>          LOG(6, (KERN_DEBUG "VMware hgfs: HgfsReadlink: calling "
>                  "readlink_copy\n"));
>          error = readlink_copy(buffer, buflen, fileName);
> #endif
>       }

これは私のために働いた。

1
user78078