O módulo vmhgfs não pode ser compilado para o VMware Tools 9.9.0 (Fusion7.1) e o VMware Tools 9.9.2 (Fusion7.1.1 Build 2496486) após a atualização do kernel do Ubuntu Linux para 3.13.0-46-generic (fevereiro de 2015) (recurso de pasta compartilhada do VMware Tools não funciona no Ubuntu 14.04 LTS (Convidado) no MacOSX Yosemite (Host))?
Hello Community e a equipe de desenvolvedores do VMware,
Em 13 de fevereiro de 2015, perdemos o recurso de pasta compartilhada entre o Ubuntu e o MacOSX. Provavelmente, a atualização do kernel do Linux para 3.13.0-46-genérico causou esse problema (embora o módulo vmhgfs compilado do VMware Tools no Ubuntu não seja danificado pela atualização do kernel do Linux!). Usamos o VMware Fusion 7.0.0 com Ubuntu 14.04 LTS e MacOSX por um ano sem problemas com os kernels Linux mais antigos. Atualizamos para o VMware Fusion 7.1.0 e o Fusion7.1.1 Build 2496486 com o VMware Tools 9.9.2 na esperança de corrigir o problema do recurso de pasta compartilhada que ocorreu primeiro na vers. 7.0.0
Podemos supor que haja uma incompatibilidade entre o módulo vmhgfs compilado e o novo kernel do Linux 3.13.0-46-generic.
Tentamos reinstalar as ferramentas VMware 9.9.0 e vers. 9.9.2 mas o módulo vmhgfs não pôde ser compilado e o recurso de pasta compartilhada não está funcionando. Todos os outros recursos da ferramenta VMware estão funcionando bem.
No Ubuntu 14.04 LTS, o comando terminal lsmod | grep "vm". não lista nenhum módulo vmhgfs
Durante a compilação do módulo vmhgfs, houve vários "erros" próximos a "/ vmhgfs-only /" e "make []:"
Aqui está um de nossos diários de terminal para você:
include/linux/compiler-gcc4.h:14:34: error: ‘struct dentry’ has no member named ‘d_alias’
#define __compiler_offsetof(a,b) __builtin_offsetof(a,b)
^
include/linux/stddef.h:17:31: note: in expansion of macro ‘__compiler_offsetof’
#define offsetof(TYPE,MEMBER) __compiler_offsetof(TYPE,MEMBER)
^
include/linux/kernel.h:794:29: note: in expansion of macro ‘offsetof’
(type *)( (char *)__mptr - offsetof(type,member) );})
^
include/linux/list.h:687:40: note: in expansion of macro ‘container_of’
#define hlist_entry(ptr, type, member) container_of(ptr,type,member)
^
include/linux/list.h:698:15: note: in expansion of macro ‘hlist_entry’
____ptr ? hlist_entry(____ptr, type, member) : NULL; \
^
include/linux/list.h:710:13: note: in expansion of macro ‘hlist_entry_safe’
pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member))
^
/tmp/modconfig-h4Zwi0/vmhgfs-only/inode.c:1920:7: note: in expansion of macro ‘hlist_for_each_entry’
hlist_for_each_entry(dentry,
^
make[2]: *** [/tmp/modconfig-h4Zwi0/vmhgfs-only/inode.o] Error 1
make[1]: *** [_module_/tmp/modconfig-h4Zwi0/vmhgfs-only] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.13.0-46-generic'
make: *** [vmhgfs.ko] Error 2
make: Leaving directory `/tmp/modconfig-h4Zwi0/vmhgfs-only'
E / mnt / hgfs está vazio, mas o compartilhamento de pastas está ativado no diretório "Documentos" do Mac, por exemplo. Se rodarmos vmware-hgfsclient em um terminal, obteremos a lista de pastas compartilhadas, mas / mnt / hgfs está vazio.
Você poderia corrigir a incompatibilidade entre o módulo vmhgfs e o novo kernel do Linux 3.13.0-46-generic, por favor?
Cumprimentos,
Toni
Respostas:
As ferramentas podem ser corrigidas manualmente. No vmhgfs.tar, o inode.c
d_alias
deve ser alterado parad_u.d_alias
, retornado ao tar e recompilar as ferramentas.Um script que faz isso (testado no ubuntu 14.04 de 32 bits, estação de trabalho vmware 11.1 em um host do Windows) está aqui:
NOTA: isso torna as ferramentas incompatíveis com versões mais antigas do kernel, ou seja, 3.13.0-45.
fonte
Eu tive a mesma experiência depois de atualizar para o kernel 3.13.0-46. De acordo com vmware-tools-patches , não há um patch disponível.
Eu consertei
vmhgfs
por:fonte
Da mesma forma que a resposta de @Will Wolcott, as recentes mudanças no vmware-tools-patches resolvem esse problema para mim no 14.04 com o kernel 3.13.
fonte