“erro: declaração implícita de função 'vfs_readlink'” durante a instalação do VMware Tools

2

Estou tentando reinstalar ferramentas vmware para minha caixa Fedora 20 VMware Fusion 6.0.4 por algum tempo no meu host OSX Mavericks agora. Após a atualização do Fedora, foi necessário para que eu pudesse acessar o Drop Box do host e facilmente redimensionar a janela.

Mas agora continuo recebendo esses erros e tentando novamente depois de instalar tudo parece não funcionar. Veja aqui a parte final com avisos e erros que causam esta falha:

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.

Posso concluir a configuração, mas ela não instala as coisas corretamente - a pasta compartilhada não está montada (a pasta é exibida sem conteúdo) - e também recebo este aviso final

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

Alguma idéia sobre este assunto - o módulo vmhgfs parece relacionado - então a pasta compartilhada é montada novamente e tudo funciona?

    
por rhand 18.07.2014 / 16:32

1 resposta

1

Além dos patches listados aqui , você precisa corrigir link.c de 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
>       }

Isso funcionou para mim.

    
por 20.07.2014 / 04:51