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
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 afterBoost not found, building without stacktrace support—boost_processcmake 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:
| Path | Contents |
|---|---|
/usr/local/bin | Executables (sumo, sumo-gui, netconvert, etc.) |
/usr/local/lib | SUMO and JuPedSim shared libraries |
/usr/local/include/jupedsim | JuPedSim headers |
/usr/local/share/sumo | Data files, tools, schemas ($SUMO_HOME) |
/etc/profile.d/sumo.sh | System-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