Não cruze os raios das VM’s!

Cá estou eu tentando colocar a minha simulação do Mestrado para funcionar e esbarro no problema que todo usuário de sistemas passa: “ah no meu micro funciona”

A minha simulação do Mestrado foi feita em Java usando um framework bastante primitivo de simulações chamado Swarm. Hoje em dia há vários frameworks melhores, tais como o Repast. Inclusive com o avanço das linguagens funcionais não é muito complicado criar a sua própria plataforma de simulações multiagentes.

Pois bem, para usar o Swarm você precisa ter uma máquina rodando um sistema operacional 32 bits. Isso porque o Swarm foi desenvolvido em Objective-C, muito antes da Apple usar essa linguagem como padrão para iOS. O código Java interage com bibliotecas nativas em Objective-C. Além disso há também interface com bibliotecas e recursos na linguagem Tcl para exibição de gráficos e janelas. Ou seja, para funcionar em micros modernos, tem que fazer tudo em 32 bits.

Isso significa:

  • Java 6 32 bits, que ainda pode ser baixado no site do Java (requer autenticação com usuário no site da Oracle)
  • GNU/Linux 32 bits
  • GCC 32 bits
  • Tcl e Tk com versões relativamente antigas (8.5)

Para rodar um ambiente 32 bits em um micro 64 bits, a melhor forma de fazer isso é com virtualização. E uma ótima ferramenta para preparar vm’s para esse fim é o Vagrant, que permite que você prepare a máquina virtual e aí é só escolher o provider, a plataforma de virtualização que irá ser utilizada. A plataforma padrão é o Virtualbox.

Fiz a preparação da caixa (box) em um notebook. Na hora de passar para o meu desktop de trabalho, nada. Fuça daqui e fuça dali, reinstalações mil e descubro qual é o problema: o Hyper-V, que é a plataforma de virtualização da Microsoft. Como eu tinha instalado o Hyper-V no desktop, ele já estava usando os recursos de virtualização que seriam utilizados pelo VirtualBox.

Uma ideia do que aconteceu

No fim eu tive que desabilitar o Hyper-V. Para fazer isso é só executar o comando abaixo em um prompt de comando como Administrador:

bcdedit /set hypervisorlaunchtype off

Depois desse comando o Windows deve ser reiniciado. Para ativar novamente o Hyper-V substitua o off por auto e reinicie o Windows novamente.

Em um próximo artigo vou detalhar a saga de rodar a minha simulação… 9 anos depois!

Leave a Reply

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

Este site utiliza o Akismet para reduzir spam. Fica a saber como são processados os dados dos comentários.