Erro para Instalar o SSFnet

ATENÇÃO: o conteúdo desta postagem pode estar desatualizado. Foi utilizado como base uma versão antiga do Linux Ubuntu. Tente o procedimento por sua própria conta e risco.

Trabalhos e trabalhos! Hoje fui instalar o SSFnet (Scalable Simulation Framework), que é um simulador de redes nos mesmos moldes que o NS-2 (Network Simulator 2). Minha intenção é exatamente fazer um comparativo entre ambos e ver qual será o melhor para um trabalho que irei realizar, tanto a âmbito do projeto que estou ingressando (em breve direi do que se trata 😛 ) como para a disciplina Modelação e Desempenho de Redes que estou fazendo neste semestre.

Não não, minha intenção não é vir aqui falar do meu dia, mas falar como resolver uns pequenos probleminhas que surgiram durante a instalação do SSFnet. Primeiramente: é um projeto meio “parado”. A última versão estável foi lançada em 2004 para ser executada através do Java 1.4. O que isso tem de ruim? Nada a princípio. Mas assim que fui começar a compilação, eis que me deparo com algumas mensagens de erro.

(…)

cidrBlock.java:780: as of release 5, ‘enum’ is a keyword, and may not be used as an identifier
(use -source 1.4 or lower to use ‘enum’ as an identifier)
Enumeration enum, enum2;

(…)

E você me pergunta “e o Quico?”. Este é apenas um trecho das várias mensagens de erro que são reportadas. E a solução está na nossa cara! Basta ler! “enum” é uma palavra reservada em versões mais recentes do Java e está sendo utilizada como nome de variável no código. Solução? Mudar essa palavra! Para tanto, utilize o comando abaixo considerando que esteja na raíz do código descompactado.

$ find . -name “*” -exec sed -i ‘s/enum/en0m/g’ {} \;

Basicamente estamos mudando todas as referências para “enum” para “en0m”. Ruim? Nem tanto. Pode ficar estranhos apenas alguns comentários em código, já que uma ocorrência da palavra “enumeration” ficará “en0meration”. Mas sobrevive-se com isso. Se tiver alguma idéia melhor, é só mandar o comentário.

Feito isso, compile novamente, com o comando make e tente novamente.

Ih! Passou dessa parte, mas parou em outra? Recebeu o erro abaixo?

(…)

java -classpath :/data/public/ssfnet-2.0/src:/data/public/ssfnet-2.0/lib/ssfnet.jar:/data/public/ssfnet-2.0/lib/ssf.jar:/data/public/ssfnet-2.0/lib/dml.jar:/data/public/ssfnet-2.0/lib/cernlite.jar:/data/public/ssfnet-2.0/lib/regexp.jar:/data/public/ssfnet-2.0/lib/plot.jar:/data/public/ssfnet-2.0/lib/plotapplication.jar SSF.Net.Net 200 ../../../../../../examples/net.dml two_TCP_hosts.dml > two_TCP_hosts.log 2>&1
make[2]: *** [all] Error 1

(…)

Vamos verificar o arquivo “two_TCP_hosts.log” em “src/SSF/OS/TCP/test/clientServerTest”. Seu conteúdo deve ser algo assim.

?Raceway license validation failure 0x5253

Licença? Fui buscar na Internet uma solução para isso. Por incrível que pareça foi fácil achar. Neste link existe a solução. Para tanto, basta exportar algumas variáveis através dos comandos abaixo.

export CLASSPATH=$CLASSPATH:/dir/to/ssf/ssfnet-2.0/lib/raceway.jar:/dir/to/sff/ssfnet-2.0/lib/ssfnet.jar

Repare que é importante que o caminho condiz com a realidade do sistema. Modifique onde for necessário o comando para tanto. Depois disto, tente novamente executar o make. Se houver uma mensagem como abaixo, a instalação e verificação ocorreu tudo certo e pode começar a utilizar o SSFnet. Recomendo para os iniciantes a leitura do tutorial aqui.

———— single_host: completed (see singleHostStoch.out)

**** TEST SUCCESSFUL **** (singleHostStoch.out & singleHostStoch.ref identical)

——– SSF.App.Worm testing complete

Agora boa sorte para mim que irei me aventurar neste que parece ser o mais complexo dos simuladores que vi até então.

Abraços a todos! 🙂

Um comentário sobre “Erro para Instalar o SSFnet

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *