Escolha a versão do gcc para compilar os módulos vmware

1

Estou usando o Ubuntu 17.04 e atualizei manualmente a versão do meu kernel para 4.12.8 usando a ferramenta ukuu (Utilitário de atualização do kernel do Ubuntu).

Ao tentar iniciar o vmware (ele já está instalado), ele me pede para fornecer o caminho para gcc-7.1 para compilar vmware modules.

Eu não entendi porque vmware me perguntou isso, porque eu instalei os módulos vmware sem nenhum problema nas versões anteriores do kernel no mesmo computador.

Após algumas pesquisas, descobri que vmware compila seus módulos usando a mesma versão gcc que é usada para compilar o kernel atual. Como eu instalei esta versão do kernel manualmente, eu não tinha gcc-7.1 no meu computador.

A minha pergunta é (desculpe por este longo discurso que tive de dar): Como posso forçar o vmware a usar outra versão do gcc para compilar seus módulos?

    
por Sidahmed 23.08.2017 / 22:12

2 respostas

2

Resposta curta : você não deveria.

Resposta longa :

Não é que a VMware teimosamente queira uma versão específica do GCC sem motivo. É muito insensato compilar um módulo do kernel com outro GCC do que o utilizado para o próprio kernel: se houver alguma mudança ABI entre as duas versões do gcc, você provavelmente irá corromper e travar seu sistema.

Se você já convenceu a VMware a compilar seus módulos com sua versão do GCC, o kernel se recusaria a carregá-los. Você teria então que editar os módulos em binário para substituir a assinatura do GCC pela correta.

Mas, apesar de tudo, vale a pena o risco? Seria preferível baixar / compilar o GCC 7.1 ou recompilar seu kernel com sua versão atual do GCC.

    
por 23.08.2017 / 23:11
1

Adicionando meu comentário como resposta, pois ele respondeu à sua pergunta.

Acho que você deve fazer o download do tarball e compilá-lo a partir da fonte, se necessário. O Tarball está localizado no link

Faça o download do tarball e execute o usual ./configure , make , make install

    
por 24.08.2017 / 18:27