SUMO (Simulation of Urban MObility, en http://goo.gl/W8r9Vz) es un micro-simulador de tráfico distribuido bajo licencia GPL v3 disponible para Windows, GNU/Linux y OSX.
Este fin de semana lo he instalado en una máquina Windows, y sin problema (doble click y arreando), en una GNU/Linux y lo mismo (un poco más porque había que compilar los fuentes, pero fácil siguiendo el tutorial), pero al llegar a OSX, no había manera. Como me ha costado un poco, dejo la receta aquí abajo para quien tenga la necesidad, que lo pueda compilar y hacer funcionar rápido.
- Instalar las command-line-tools. Si tenéis Xcode instalado, no hay problema. Si no, para instalarlas es tan fácil como invocar un comando que venga incluido en ellas, como por ejemplo
git
. - Instalar Homebrew. Paquete esencial para tener los mínimos quebraderos de cabeza posibles. Como dicen en la página principal, se instala lanzando el comando
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
. - Instalar las dependencias de SUMO. Con el comando
brew install Caskroom/cask/xquartz homebrew/x11/fox gdal xerces-c
. - Exportar las variables de entorno CPPFLAGS y LDFLAGS. Para compilar los fuentes y enlazar los compilados:
export CPPFLAGS="$CPPFLAGS -I/usr/local/include/python2.7 -I/usr/local/include -I/opt/X11/include -I/usr/X11/include/freetype2"
yexport LDFLAGS="$LDFLAGS -lpython2.7 -L/usr/local/lib -L/usr/X11/lib"
- Descargar los fuentes de SUMO y descomprimirlos. Algo hay que compilar, ¿no? pues eso,
wget http://www.dlr.de/ts/en/Portaldata/16/Resources/sumo/sumo-src-0.23.0.zip
(o la versión que corresponda) y descomprimirlo (vamos a suponer que está descomprimido en/Users/neko/Downloads/sumo-0.23.0
). Si no tenemoswget
instalado, basta con instalarlo a través de brew (brew install wget
) o descargar el fichero de cualquier otra forma. - Compilar los fuentes. Para ello, accedemos al directorio (
cd /Users/neko/Downloads/sumo-0.23.0
), preparamos los fuentes con el comando./configure --with-fox-config=/usr/local/Cellar/fox/1.6.49/bin/fox-config -with-proj-gdal=/opt/local --with-xerces=/opt/local --prefix=/opt/sumo
, compilamos con el comandomake -j4
e instalamos consudo make install
sudo porque lo queremos instalar en/opt/sumo
, tal y como pone en el parámetro--prefix
del comando configure.
Si todo ha ido correcto, SUMO estará instalado en /opt/sumo
. Para lanzarlo, los ejecutables serán /opt/sumo/bin/sumo
y /opt/sumo/bin/sumo-gui
, dependiendo de si queremos lanzar la simulación sin o con gráficos respectivamente.
Al lanzar el entorno gráfico de simulación puede salir el siguiente error:
FXApp::openDisplay: unable to open display :0.0
No pasa nada, es simplemente que el servidor de las X tiene que estar corriendo. Estará dentro de /Applications/Utilities
, pero con escribir X11 en spotlight lo encontrará sin problemas.
Espero que os haya servido de mucho. ¡Que disfrutéis con vuestras simulaciones!
Hola
Al tratar de correrlo en combinación con Veins tengo este error:
Could not start SUMO (/opt/sumo -c erlangen.sumo.cfg): [Errno 13] Permission denied
Alguna idea?
Pues sin mucha más información, lo que se me ocurre que puede ser es que (a) el usuario no tenga permisos de lectura sobre
erlangen.sumo.cfg
o (b) que el ejecutable/opt/sumo
no tenga permiso de escritura (ese problema ya lo tuve yo en su día. Saludos!