O módulo vmhgfs não pode ser compilado para o VMware Tools 9.9.0 (Fusion7.1) após a atualização do kernel do Ubuntu Linux para 3.13.0-46-generic?

12

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


Ecoplacehunter
fonte
Olá, bem-vindo ao askubuntu! Gostaríamos de ajudá-lo com esse problema, no entanto, é realmente difícil ler esta pergunta. Tente formatar sua pergunta para torná-la mais clara e mais estruturada. Ajuda de formatação: askubuntu.com/help/formatting
Merlijn Sebrechts
Olá Comunidade, nosso membro "DJ" já respondeu à minha postagem. Ele tem o mesmo problema com o módulo vmhgfs e o recurso de pasta compartilhada no VMware Fusion e assume uma incompatibilidade entre o módulo vmhgfs e o novo Linux Kernel 3.13.0-46-genérico. O "DJ" também fez sugestões para uma versão compatível do kernel Linux. Alguém já experimentou a versão mais recente do Linux Kernel compatível com o módulo vmhgfs? "DJ", você poderia postar seu comando novamente, por favor? Poderíamos fazer o módulo vmhgfs trabalhar com o downgrade para a versão mais recente do kernel Linux compatível. Atenciosamente, Toni
Ecoplacehunter
A atualização do VMware Fusion Pro para a 7.1.1 Build 2496486 no Mac OS X Yosemite e a tentativa de reinstalar as ferramentas do VMware VMwareTools-9.9.2-2496486 para Ubuntu não conseguiram corrigir o problema do módulo vmhgfs. VMwareTools-9.9.2-2496486 também é incompatível com o novo kernel Linux 3.13.0-46-generic
Ecoplacehunter

Respostas:

13

As ferramentas podem ser corrigidas manualmente. No vmhgfs.tar, o inode.c d_aliasdeve ser alterado para d_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:

#!/bin/sh -x
cd /usr/lib/vmware-tools/modules/source
tar xf vmhgfs.tar
grep -q d_u.d_alias vmhgfs-only/inode.c && echo "already patched" && exit 0
sed -i -e s/d_alias/d_u.d_alias/ vmhgfs-only/inode.c
cp -p vmhgfs.tar vmhgfs.tar.orig
tar cf vmhgfs.tar vmhgfs-only
vmware-config-tools.pl -d -m

NOTA: isso torna as ferramentas incompatíveis com versões mais antigas do kernel, ou seja, 3.13.0-45.

Viljo Viitanen
fonte
Esta solução funcionou para mim com um host do Windows 8.1 e um convidado do Ubuntu 14.04.2 LTS de 32 bits usando o VMware player 7.1.0 build-2496824. Obrigado!
Taylor T. Johnson
Hyvä Viljo !!! O mais curto, mais limpo e mais fácil correção de patch em comparação com todas as instruções hacky malucos lá fora: google.fi/...
Yordan Georgiev
Parece ser eles fixaram-lo em vmware-tools-9.9.3
Didar_Uranov
Posso confirmar que esse patch funciona no kernel do Ubuntu 14.04.2 LTS 3.13.0-48-generic, direcionado ao VMwareTools-9.6.5-2700074 enviado com o VMWare Workstation 10.0.7.
21915 Ryan M