Skip to main content

Install SUMO with JuPedSim

This guide covers building Eclipse SUMO from source with JuPedSim integration, installing system-wide to /usr/local.

Step 0. Clone the Repository

mkdir -p ~/thirdparty && cd ~/thirdparty
git clone --recursive https://github.com/eclipse-sumo/sumo
note

The --recursive flag is required to also clone SUMO's submodules.

Step 1. Install Dependencies

Use SUMO's provided script to install all required apt packages and build JuPedSim v1.3.1 from source:

cd ~/thirdparty/sumo
sudo bash build_config/install_dependencies.sh

This installs all apt dependencies and JuPedSim to /usr/local by default.

Step 2. Install OpenSceneGraph

Required for SUMO's 3D visualization support:

sudo apt install libopenscenegraph-dev

Step 3. Build SUMO

cd ~/thirdparty/sumo
mkdir -p build && cd build
cmake ..
cmake --build . -j$(nproc)

Expected Enabled Features

After a successful build, CMake should report the following enabled features:

FMI Proj GUI FMT Intl SWIG tcmalloc Parquet Eigen GDAL FFmpeg OSG GL2PS JuPedSim

Known Non-Issues

These CMake warnings are harmless and can be safely ignored:

  • Could NOT find protobuf (missing: protobuf_DIR) — false alarm; cmake finds it via fallback immediately after
  • Boost not found, building without stacktrace supportboost_process cmake config is missing from Ubuntu 24.04 packaging; only affects crash diagnostics in debug builds, not runtime functionality

Step 4. Install to /usr/local

Install to the default /usr/local prefix. This avoids cmake path baking issues and means binaries are automatically on all users' PATH with no extra configuration.

sudo cmake --install .

Files are installed to:

PathContents
/usr/local/binExecutables (sumo, sumo-gui, netconvert, etc.)
/usr/local/libSUMO and JuPedSim shared libraries
/usr/local/include/jupedsimJuPedSim headers
/usr/local/share/sumoData files, tools, schemas ($SUMO_HOME)
/etc/profile.d/sumo.shSystem-wide SUMO_HOME environment variable

Step 5. System-wide Environment Configuration

/usr/local/bin is already on users' PATH by default, so only SUMO_HOME needs to be set. Create /etc/profile.d/sumo.sh:

sudo vim /etc/profile.d/sumo.sh

Add:

export SUMO_HOME=/usr/local/share/sumo

Apply immediately:

source /etc/profile.d/sumo.sh

Step 6. Verify Installation

sumo --version
sumo-gui --version

Uninstall

Uninstall SUMO

CMake generates an install_manifest.txt in the build directory listing every installed file. Use it to remove all installed files:

cd ~/thirdparty/sumo/build
sudo xargs rm -f < install_manifest.txt

Then clean up any empty directories left behind:

sudo rm -rf /usr/local/share/sumo

Uninstall JuPedSim

sudo rm /usr/local/lib/libjupedsim.so
sudo rm -rf /usr/local/include/jupedsim
sudo rm -rf /usr/local/lib/cmake/jupedsim
sudo ldconfig

Remove Environment Configuration

sudo rm /etc/profile.d/sumo.sh