O VMWare Workstation Pro 12 no Ubuntu 16.04 não pode compilar vmmon

4

Instalei o pacote VMware sem problemas no meu Ubuntu 16.04 (cabine dupla). Quando tento executá-lo e ele tenta compilar, ele gera o seguinte log, ele não pode compilar vmmon:

...
2016-08-15T16:13:39.909+02:00| vthread-4| I125: Successfully extracted the vmmon source.
2016-08-15T16:13:39.910+02:00| vthread-4| I125: Building module with command "/usr/bin/make -j8 -C /tmp/modconfig-SUMBLV/vmmon-only auto-build HEADER_DIR=/lib/modules/4.4.0-34-generic/build/include CC=/usr/bin/gcc IS_GCC_3=no"
2016-08-15T16:13:40.934+02:00| vthread-4| W115: Failed to build vmmon.  Failed to execute the build command.

Comecei a solucionar o problema pesquisando na Web e Eu alterei o nome do método get_user_pages para get_user_pages_remote ambos em vmnet.tar e vmmon.tar em seu diretório , mas não resolveu o problema, vmmon ainda não irá compilar.

Ao iniciar o VMware com o gksudo por meio do terminal, recebo as seguintes mensagens de erro:

Starting VMware services:
   Virtual machine monitor                                            failed
   Virtual machine communication interface                             done
   VM communication interface socket family                            done
   Blocking file system                                                done
   Virtual ethernet                                                    done
   VMware Authentication Daemon                                        done

Pensando que teria sido um problema relacionado à placa gráfica que instalei com sucesso os drivers NVidia para minha placa gráfica, desativei o Secure Boot usando o utilitário de gerenciamento MOK ao inicializar depois de instalá-los. Eu também desativei o Secure Boot no meu BIOS, é um laptop da Asus.

Esqueci de instalar o pacote VMWare usando o gksudo, achei que era improvável a origem do problema, mas vou mostrar isso apenas com precisão.

A versão do kernel é 4.4.0-34-genérica. Eu li que deve ser até a equipe VMWare para corrigir esta versão do kernel, existe uma solução rápida para resolver isso ou devo atirar para o Virtualbox e acabar com isso?

Eu tenho algumas imagens de máquinas virtuais que gostaria de importar de outro lugar.

Obrigado pela leitura.

    
por uncanny_valley 15.08.2016 / 16:30

1 resposta

7

Eu tive o mesmo problema. Aqui está a correção Vá para a pasta

cd /usr/lib/vmware/modules/source

Descompacte o arquivo vmmon.tar usando (você pode precisar do su / sudo para fazer isso)

tar xf vmmon.tar

Edite o arquivo ./vmmon-only/linux/driver.c

nano ./vmmon-only/linux/driver.c

Aplique essas alterações, cortesia do link . Em torno da linha 400, exclua as linhas que começam com - e adicione os que começam com + (não coloque o +). Existe uma maneira de fazer isso usando o comando patch, mas o que for. Se você souber como ler os arquivos de patch, verá que o usuário nesse formulário incluiu outra alteração em outro arquivo, mas tudo funciona sem que eu faça isso.

#ifdef VMX86_DEVEL 
    unregister_chrdev(linuxState.major, linuxState.deviceName); 
 #else 
-   if (misc_deregister(&linuxState.misc)) { 
-      Warning("Module %s: error unregistering\n", linuxState.deviceName); 
-   } 
+   misc_deregister(&linuxState.misc); 

Backup do original

mv vmmon.tar vmmon.tarbackup

Retar os arquivos

tar cf vmmon.tar ./vmmon-only

Eu sou um pouco duvidoso desde então, já que fiz algumas coisas e não testei após cada etapa. Então, ambos podem não ser estritamente necessários. Recompile libs usando o driver.c que acabou de editar

sudo vmware-modconfig --console --install-all

Execute o VMWare, dizendo para usar as bibliotecas que você acabou de compilar

sudo VMWARE_USE_SHIPPED_LIBS=yes vmwarex:
    
por m3k3r1 30.08.2016 / 14:41