sábado, 11 de janeiro de 2014

Simulador OMNET++ e OverSim


Motivação


Vou analisar o uso desse simulador de forma geral para redes, mas particularmente no caso de ALMs (Application Layer Multicasting) ou redes em overlay, já que é um dos simuladores sendo utilizados na área nos últimos tempos.

Maiores informações aqui:
http://www.oversim.org/wiki/OverSimDownload
http://www.omnetpp.org/omnetpp

Instalação do OMNET++


Ao tentar instalar a última versão disponível no site (link aqui: http://www.omnetpp.org/omnetpp) acabei encontrando alguns erros...

De forma geral, fora a briga com as bibliotecas (tenho que tentar conseguir o Akratoa ainda...), o processo é bastante simples e direto, mas ocorre um erro de compilação. Algo na forma:

make MODE=release
make[1]: Entering directory `/path/to/omnetpp-4.2.2'
***** Configuration: MODE=release, TOOLCHAIN_NAME=gcc, LIB_SUFFIX=.so ****
===== Checking environment =====
mkdir -p /path/to/omnetpp-4.2.2/bin
===== Compiling utils ====
cd /path/to/omnetpp-4.2.2/src/utils && make
make[2]: Entering directory `/path/to/omnetpp-4.2.2/src/utils'
g++ opp_lcg32_seedtool.cc -o /path/to/omnetpp-4.2.2/out/gcc-release/src/utils/opp_lcg32_seedtool
g++ abspath.cc -o /path/to/omnetpp-4.2.2/out/gcc-release/src/utils/abspath
abspath.cc: In function ‘std::string toAbsolutePath(const char*)’:
abspath.cc:62:38: error: ‘getcwd’ was not declared in this scope
make[2]: *** [/path/to/omnetpp-4.2.2/out/gcc-release/src/utils/abspath] Error 1
make[2]: Leaving directory `/path/to/omnetpp-4.2.2/src/utils'
make[1]: *** [utils] Error 2
make[1]: Leaving directory `/path/to/omnetpp-4.2.2'
make: *** [allmodes] Error 2


Para solucionar esse erro (solução encontrada aqui: http://dev.omnetpp.org/bugs/view.php?id=567) é só editar o arquivo abspath.cc (src/utils/abspath.cc) e acrescentar a linha #include<unistd.h>. Tente compilar novamente que irá funcionar adequadamente.

Nenhum comentário:

Postar um comentário