-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
SUMO compilation
David Mansolino edited this page Nov 7, 2018
·
20 revisions
This page explains how to recompile the SUMO dependency on every platforms.
Get Sumo 0.30 from precompiled package and create the target package.
https://sourceforge.net/projects/sumo/files/sumo
Reference: http://sumo.dlr.de/wiki/Installing
# Recommended: sudo apt-get autoremove libxerces-c3.1 libxerces-c-dev libfox-1.6-0 libfox-1.6-dev
sudo add-apt-repository ppa:sumo/stable
sudo apt-get update
sudo apt-get install sumo sumo-tools
Note: The following additional packages will be installed:
fastjar jarwrapper libaec0 libarmadillo6 libarpack2 libblas-common libblas3 libdap17v5
libdapclient6v5 libepsilon1 libfox-1.6-0 libfreexl1 libgdal1i libgeos-3.5.0 libgeos-c1v5
libgfortran3 libgl2ps0 libhdf4-0-alt libhdf5-10 libjs-openlayers libkmlbase1 libkmldom1
libkmlengine1 liblapack3 libminizip1 libmysqlclient20 libnetcdf11 libodbc1 libogdi3.2 libpq5
libproj9 libspatialite7 libsuperlu4 libsz2 liburiparser1 libxerces-c3.1 mysql-common odbcinst
odbcinst1debian2 proj-bin proj-data
cd $HOME/software
mkdir sumo
cd sumo
cp /usr/bin/duarouter .
cp /usr/bin/netconvert .
cp /usr/bin/netedit .
cp /usr/bin/sumo .
cp /usr/bin/sumo-gui .
mkdir lib
cp /usr/lib/x86_64-linux-gnu/libFOX-1.6.so.0* lib/
cp /usr/lib/libgdal.so.1* lib/
cp /usr/lib/libgl2ps.so.0* lib/
cp /usr/lib/x86_64-linux-gnu/libproj.so.9* lib/
cp /usr/lib/x86_64-linux-gnu/libxerces-c-3.1.so* lib/
cp /usr/lib/libarmadillo.so.6* lib/
cp /usr/lib/x86_64-linux-gnu/libdapclient.so.6* lib/
cp /usr/lib/x86_64-linux-gnu/libdap.so.17* lib/
cp /usr/lib/libdfalt.so.0* lib/
cp /usr/lib/x86_64-linux-gnu/libepsilon.so.1* lib/
cp /usr/lib/x86_64-linux-gnu/libfreexl.so.1* lib/
cp /usr/lib/x86_64-linux-gnu/libgeos_c.so.1* lib/
cp /usr/lib/x86_64-linux-gnu/libhdf5_serial.so.10* lib/
cp /usr/lib/x86_64-linux-gnu/libkmlbase.so.1* lib/
cp /usr/lib/x86_64-linux-gnu/libkmldom.so.1* lib/
cp /usr/lib/x86_64-linux-gnu/libkmlengine.so.1* lib/
cp /usr/lib/libmfhdfalt.so.0* lib/
cp /usr/lib/x86_64-linux-gnu/libmysqlclient.so.20* lib/
cp /usr/lib/x86_64-linux-gnu/libnetcdf.so.11* lib/
cp /usr/lib/x86_64-linux-gnu/libodbcinst.so.2* lib/
cp /usr/lib/x86_64-linux-gnu/libodbc.so.2* lib/
cp /usr/lib/libogdi.so.3.2* lib/
cp /usr/lib/x86_64-linux-gnu/libpq.so.5* lib/
cp /usr/lib/x86_64-linux-gnu/libspatialite.so.7* lib/
cp /usr/lib/libarpack.so.2* lib/
cp /usr/lib/libblas.so.3* lib/
cp /usr/lib/x86_64-linux-gnu/libgeos-3.5.0.so* lib/
cp /usr/lib/x86_64-linux-gnu/libhdf5_serial_hl.so.10* lib/
cp /usr/lib/liblapack.so.3* lib/
cp /usr/lib/x86_64-linux-gnu/libminizip.so.1* lib/
cp /usr/lib/x86_64-linux-gnu/libsuperlu.so.4* lib/
cp /usr/lib/x86_64-linux-gnu/libsz.so.2* lib/
cp /usr/lib/x86_64-linux-gnu/liburiparser.so.1* lib/
cp /usr/lib/x86_64-linux-gnu/libaec.so.0* lib/
cp /usr/lib/x86_64-linux-gnu/libgfortran.so.3* lib/
cp -R /usr/share/sumo/tools/traci .
cp -R /usr/share/sumo/tools/sumolib .
sudo apt-get autoremove sumo sumo-tools
cd $HOME/software
tar -cvjSf sumo-0.28.0.tar.bz2 sumo
sudo apt-get install libxerces-c-dev libfox-1.6-dev libproj-dev libgdal-dev libxerces-c3.1 libfox-1.6-0
./configure --enable-static=yes --enable-shared=no --without-ffmpeg
make -jX
cd bin
cp /usr/lib/libarmadillo.so.4.200.0 .
cp /usr/lib/libarpack.so.2.0.0 .
cp /usr/lib/libblas/libblas.so.3.0 .
cp /usr/lib/x86_64-linux-gnu/libdap.so.11.5.0 .
cp /usr/lib/x86_64-linux-gnu/libdapclient.so.3.2.0 .
cp /usr/lib/libdfalt.so.0.0.0 .
cp /usr/lib/x86_64-linux-gnu/libepsilon.so.1.0.0 .
cp /usr/lib/x86_64-linux-gnu/libFOX-1.6.so.0.0.49 .
cp /usr/lib/x86_64-linux-gnu/libfreexl.so.1.0.0 .
cp /usr/lib/libgdal.so.1.17.1 .
cp /usr/lib/libgeos-3.4.2.so .
cp /usr/lib/libgeos_c.so.1.8.2 .
cp /usr/lib/x86_64-linux-gnu/libgfortran.so.3.0.0 .
cp /usr/lib/x86_64-linux-gnu/libgif.so.4.1.6 .
cp /usr/lib/x86_64-linux-gnu/libhdf5.so.7.0.0 .
cp /usr/lib/x86_64-linux-gnu/libhdf5_hl.so.7.0.0 .
cp /usr/lib/x86_64-linux-gnu/libkmlbase.so.0.0.0 .
cp /usr/lib/x86_64-linux-gnu/libkmldom.so.0.0.0 .
cp /usr/lib/x86_64-linux-gnu/libkmlengine.so.0.0.0 .
cp /usr/lib/lapack/liblapack.so.3.0 .
cp /usr/lib/libmfhdfalt.so.0.0.0 .
cp /usr/lib/x86_64-linux-gnu/libminizip.so.0.0.0 .
cp /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18.0.0 .
cp /usr/lib/libnetcdf.so.7.1.1 .
cp /usr/lib/x86_64-linux-gnu/libodbc.so.1.0.0 .
cp /usr/lib/x86_64-linux-gnu/libodbcinst.so.1.0.0 .
cp /usr/lib/libogdi.so.3.2 .
cp /usr/lib/x86_64-linux-gnu/libpoppler.so.44.0.0 .
cp /usr/lib/libpq.so.5.6 .
cp /usr/lib/libproj.so.0.7.0 .
cp /usr/lib/x86_64-linux-gnu/libspatialite.so.5.1.0 .
cp /usr/lib/liburiparser.so.1.0.10 .
cp /usr/lib/x86_64-linux-gnu/libxerces-c-3.1.so .
ln -s libFOX-1.6.so.0.0.49 libFOX-1.6.so.0
ln -s libproj.so.0.7.0 libproj.so.0
ln -s libgdal.so.1.17.1 libgdal.so.1
ln -s libarmadillo.so.4.200.0 libarmadillo.so.4
ln -s libpoppler.so.44.0.0 libpoppler.so.44
ln -s libfreexl.so.1.0.0 libfreexl.so.1
ln -s libgeos_c.so.1.8.2 libgeos_c.so.1
ln -s libepsilon.so.1.0.0 libepsilon.so.1
ln -s libodbc.so.1.0.0 libodbc.so.1
ln -s libodbcinst.so.1.0.0 libodbcinst.so.1
ln -s libkmldom.so.0.0.0 libkmldom.so.0
ln -s libkmlbase.so.0.0.0 libkmlbase.so.0
ln -s libkmlengine.so.0.0.0 libkmlengine.so.0
ln -s libnetcdf.so.7.1.1 libnetcdf.so.7
ln -s libhdf5.so.7.0.0 libhdf5.so.7
ln -s libmfhdfalt.so.0.0.0 libmfhdfalt.so.0
ln -s libdfalt.so.0.0.0 libdfalt.so.0
ln -s libgif.so.4.1.6 libgif.so.4
ln -s libpq.so.5.6 libpq.so.5
ln -s libdapclient.so.3.2.0 libdapclient.so.3
ln -s libdap.so.11.5.0 libdap.so.11
ln -s libspatialite.so.5.1.0 libspatialite.so.5
ln -s libmysqlclient.so.18.0.0 libmysqlclient.so.18
ln -s libblas.so.3.0 libblas.so.3
ln -s liblapack.so.3.0 liblapack.so.3
ln -s libarpack.so.2.0.0 libarpack.so.2
ln -s liburiparser.so.1.0.10 liburiparser.so.1
ln -s libminizip.so.0.0.0 libminizip.so.0
ln -s libhdf5_hl.so.7.0.0 libhdf5_hl.so.7
ln -s libgfortran.so.3.0.0 libgfortran.so.3
mkdir sumo-0.30-linux64
cp -r bin sumo-0.30-linux64/bin
cp -r data sumo-0.30-linux64/data
mkdir sumo-0.30-linux64/tools
cp -r tools/traci sumo-0.30-linux64/tools/traci
cp -r tools/sumolib sumo-0.30-linux64/tools/sumolib
cp tools/randomTrips.py sumo-0.30-linux64/tools
cp tools/route2trips.py sumo-0.30-linux64/tools
tar -czvf sumo-0.30-linux64.tar.gz sumo-0.30-linux64
Reference: http://sumo.dlr.de/wiki/Installing/MacOS_Build_w_Homebrew
Download Sumo sources (sumo-src-0.30.0.tar.gz) in $HOME/software/sumo-0.30.0 from:
https://sourceforge.net/projects/sumo/files/sumo/version%200.30.0/
cd $HOME/software/sumo-0.30.0
brew update
brew install Caskroom/cask/xquartz
brew install gdal
brew install proj
brew install xerces-c
brew install homebrew/x11/fox
brew uninstall --ignore-dependencies python # python is a dependency of gdal, we prefer to use the Python of the system
export CPPFLAGS="$CPPFLAGS -I/opt/X11/include/"
export LDFLAGS="-L/opt/X11/lib"
./configure CXX=clang++ --with-xerces=/usr/local --with-proj-gdal=/usr/local
make -jX
mkdir sumo-0.30-mac
cp -r bin sumo-0.30-mac/bin
cp -r data sumo-0.30-mac/data
mkdir sumo-0.30-mac/tools
cp -r tools/traci sumo-0.30-mac/tools/traci
cp -r tools/sumolib sumo-0.30-mac/tools/sumolib
cp tools/randomTrips.py sumo-0.30-mac/tools
cp tools/route2trips.py sumo-0.30-mac/tools
# find dependencies: otool -L duarouter netedit netconvert sumo sumo-gui | grep /usr/local | sed -e 's/ (.*//;s/^\s*//' | sort | uniq
cp /usr/local/opt/fox/lib/libFOX-1.6.0.dylib sumo-0.30-mac/bin
cp /usr/local/opt/freetype/lib/libfreetype.6.dylib sumo-0.30-mac/bin
cp /usr/local/opt/jpeg/lib/libjpeg.9.dylib sumo-0.30-mac/bin
cp /usr/local/opt/libpng/lib/libpng16.16.dylib sumo-0.30-mac/bin
cp /usr/local/opt/libtiff/lib/libtiff.5.dylib sumo-0.30-mac/bin
cp /usr/local/opt/proj/lib/libproj.12.dylib sumo-0.30-mac/bin
cp /usr/local/opt/xerces-c/lib/libxerces-c-3.1.dylib sumo-0.30-mac/bin
cp /usr/local/opt/gdal/lib/libgdal.1.dylib sumo-0.30-mac/bin
cp /usr/local/opt/json-c/lib/libjson-c.2.dylib sumo-0.30-mac/bin
cp /usr/local/opt/freexl/lib/libfreexl.1.dylib sumo-0.30-mac/bin
cp /usr/local/opt/geos/lib/libgeos_c.1.dylib sumo-0.30-mac/bin
cp /usr/local/opt/giflib/lib/libgif.7.dylib sumo-0.30-mac/bin
cp /usr/local/opt/libgeotiff/lib/libgeotiff.2.dylib sumo-0.30-mac/bin
cp /usr/local/opt/libspatialite/lib/libspatialite.7.dylib sumo-0.30-mac/bin
cp /usr/local/opt/sqlite/lib/libsqlite3.0.dylib sumo-0.30-mac/bin
cp /usr/local/opt/pcre/lib/libpcre.1.dylib sumo-0.30-mac/bin
cp /usr/local/opt/libxml2/lib/libxml2.2.dylib sumo-0.30-mac/bin
cp /usr/local/opt/liblwgeom/lib/liblwgeom-2.1.5.dylib sumo-0.30-mac/bin
cp /usr/local/Cellar/geos/3.6.2/lib/libgeos-3.6.2.dylib sumo-0.30-mac/bin
chmod u+w sumo-0.30-mac/bin/*dylib*
# create deps.py as described bellow
cd sumo-0.30-mac/bin
python deps.py
cd ../..
tar -czvf sumo-0.30-mac.tar.gz sumo-0.30-mac
# File: deps.py
from subprocess import call
import os
executables = [
"sumo",
"sumo-gui",
"netconvert",
"netedit",
"duarouter"
]
libraries = [
"/usr/local/opt/fox/lib/libFOX-1.6.0.dylib",
"/usr/local/opt/freetype/lib/libfreetype.6.dylib",
"/usr/local/opt/jpeg/lib/libjpeg.9.dylib",
"/usr/local/opt/libpng/lib/libpng16.16.dylib",
"/usr/local/opt/libtiff/lib/libtiff.5.dylib",
"/usr/local/opt/proj/lib/libproj.12.dylib",
"/usr/local/opt/xerces-c/lib/libxerces-c-3.1.dylib",
"/usr/local/opt/gdal/lib/libgdal.1.dylib",
"/usr/local/opt/json-c/lib/libjson-c.2.dylib",
"/usr/local/opt/freexl/lib/libfreexl.1.dylib",
"/usr/local/opt/geos/lib/libgeos_c.1.dylib",
"/usr/local/opt/giflib/lib/libgif.7.dylib",
"/usr/local/opt/libgeotiff/lib/libgeotiff.2.dylib",
"/usr/local/opt/libspatialite/lib/libspatialite.7.dylib",
"/usr/local/opt/sqlite/lib/libsqlite3.0.dylib",
"/usr/local/opt/pcre/lib/libpcre.1.dylib",
"/usr/local/opt/libxml2/lib/libxml2.2.dylib",
"/usr/local/opt/liblwgeom/lib/liblwgeom-2.1.5.dylib",
"/usr/local/Cellar/geos/3.6.2/lib/libgeos-3.6.2.dylib"
]
def command(cmd):
print cmd
call(cmd.split())
for lA in libraries:
lAName = os.path.basename(lA)
command("install_name_tool -id @loader_path/%s %s" % (lAName, lAName))
for lB in libraries:
lBName = os.path.basename(lB)
command("install_name_tool -change %s @loader_path/%s %s" % (lB, lBName, lAName))
for executable in executables:
for l in libraries:
lName = os.path.basename(l)
command("install_name_tool -change %s @loader_path/%s %s" % (l, lName, executable))
Download Sumo windows 64bits precompiled package (sumo-win64-0.30.0.zip) and extract it in $HOME/software/sumo-0.30.0 from:
https://sourceforge.net/projects/sumo/files/sumo/version%200.30.0/
cd $HOME/software/sumo-win64-0.30.0/sumo-0.30.0
mkdir sumo-0.30-windows
cp -r bin sumo-0.30-windows/bin
cp -r data sumo-0.30-windows/data
mkdir sumo-0.30-windows/tools
cp -r tools/traci sumo-0.30-windows/tools/traci
cp -r tools/sumolib sumo-0.30-windows/tools/sumolib
cp tools/randomTrips.py sumo-0.30-windows/tools
cp tools/route2trips.py sumo-0.30-windows/tools
zip -r sumo-0.30-windows.zip sumo-0.30-windows
Finally upload the file on the ftp.