Ubuntu 20.04 部署 SUMO:从依赖配置到仿真运行的完整指南

张开发
2026/6/5 3:55:15 15 分钟阅读
Ubuntu 20.04 部署 SUMO:从依赖配置到仿真运行的完整指南
1. 环境准备与依赖安装在Ubuntu 20.04上部署SUMO前需要先搭建好基础环境。我实测发现跳过某些看似可选的依赖项往往会导致后续编译失败所以建议严格按照以下步骤操作。首先更新软件源这个老生常谈的步骤其实很关键。很多同学编译失败就是因为本地软件包版本太旧sudo apt update sudo apt upgrade -y接下来安装核心依赖库。这里有个小技巧如果网络不稳定可以分批安装。我习惯把依赖分成基础工具链、图形库和地理信息库三组# 基础编译工具链 sudo apt install -y cmake python3 g swig # 图形界面依赖 sudo apt install -y libfox-1.6-dev libgl2ps-dev # 地理信息处理库 sudo apt install -y libxerces-c-dev libgdal-dev libproj-dev特别提醒注意libgdal-dev的版本兼容性。去年有个坑是Ubuntu 20.04默认仓库的3.0.4版本会导致SUMO地图解析异常如果遇到类似问题可以尝试降级到2.4.1版sudo apt install libgdal-dev2.4.1dfsg-1build42. 获取SUMO源码官方推荐从SourceForge下载稳定版但我更建议从GitHub仓库clone最新代码。实测发现1.19.0之后的路由算法有显著优化特别是对大型路网的性能提升明显git clone --recursive https://github.com/eclipse/sumo.git cd sumo git checkout v1_19_0 # 指定版本号如果网络环境导致clone缓慢可以尝试先下载压缩包。这里分享个加速技巧把压缩包放在/dev/shm内存盘解压速度能快3-5倍wget https://github.com/eclipse/sumo/archive/refs/tags/v1.19.0.tar.gz sudo cp v1.19.0.tar.gz /dev/shm/ cd /dev/shm tar -xzf v1.19.0.tar.gz3. 环境变量配置配置SUMO_HOME时90%的报错都是路径问题。建议先用realpath命令确认绝对路径export SUMO_HOME$(realpath /dev/shm/sumo-1.19.0) echo $SUMO_HOME # 验证路径永久环境变量配置我推荐用zsh用户改用~/.zshrc普通用户用~/.bashrc。有个细节要注意PATH变量要用绝对路径避免sudo时找不到命令echo export PATH\$PATH:$SUMO_HOME/bin ~/.bashrc echo export SUMO_HOME$SUMO_HOME ~/.bashrc source ~/.bashrc4. 编译与安装进入编译阶段关键是要合理利用多核CPU。nproc显示的逻辑核心数不一定最优化建议手动指定核心数。我的i7-11800H实测-j6效率最高mkdir -p build/cmake-build cd build/cmake-build cmake ../.. -DCMAKE_BUILD_TYPERelease make -j6编译完成后强烈建议跑个快速测试验证基础功能sumo --version # 验证命令行工具 sumo-gui # 测试图形界面如果遇到GLX相关报错可能是显卡驱动问题。可以尝试用软件渲染模式启动LIBGL_ALWAYS_SOFTWARE1 sumo-gui5. 运行测试案例SUMO自带的tutorial案例是很好的学习素材。以交通信号控制示例为例运行前需要先进入案例目录cd $SUMO_HOME/docs/tutorial/traci_tls python runner.py我建议修改runner.py里的仿真参数来观察不同效果。比如把仿真时长从100步改为500步traci.start([sumo, -c, cross.sumocfg, --no-step-log]) for step in range(500): # 原版是100 traci.simulationStep()6. 常见问题排查Q1: 编译时报错Could NOT find FOX解决方法确认安装了libfox-1.6-dev然后清理build目录重新cmakerm -rf build/cmake-build/CMakeCache.txt cmake ../.. -DFOX_CONFIG/usr/bin/fox-configQ2: sumo-gui闪退大概率是OpenGL兼容问题可以尝试sudo apt install mesa-utils glxinfo | grep OpenGL # 验证驱动Q3: Python接口导入失败需要重新编译Python绑定cd $SUMO_HOME/build/cmake-build cmake ../.. -DPYTHON_EXECUTABLE$(which python3) make install7. 进阶配置技巧对于科研用户我推荐开启调试符号编译方便后续性能分析cmake ../.. -DCMAKE_BUILD_TYPERelWithDebInfo要启用并行计算功能需Intel TBBsudo apt install libtbb-dev cmake ../.. -DPARALLELON内存分析工具Valgrind的集成配置sudo apt install valgrind valgrind --toolcallgrind sumo -c your_config.sumocfg

更多文章