Ubuntu编译OSRM-backend时CMake报Intel TBB NOT found错误
故障原因
Debian/Ubuntu 软件源中,libtbb 包仅提供 TBB 的运行时动态库文件,不包含 CMake 依赖检测所需的头文件、开发版符号链接、CMake 配置脚本,因此即使路径下存在 .so 运行库文件,CMake 的 FindTBB 模块依然会判定 TBB 未安装。
修复步骤
- 首先安装 TBB 完整开发包:
sudo apt update sudo apt install -y libtbb-dev
- 清除之前 CMake 生成的错误缓存,避免缓存干扰检测结果:
cd /srv/osrm/osrm-backend/build rm -rf ./*
- 重新执行 CMake 配置:
cmake /srv/osrm/osrm-backend/
如果执行上述操作后仍报相同错误,可以在 CMake 命令中手动指定 TBB 的配置路径,跳过默认搜索逻辑:
cmake -DTBB_DIR=/usr/lib/x86_64-linux-gnu/cmake/TBB /srv/osrm/osrm-backend/
不同 Ubuntu 版本的 TBB CMake 配置路径可能略有差异,如果上述路径不存在,可以通过
dpkg -L libtbb-dev | grep TBBConfig.cmake命令查询实际安装路径后替换。
内容的提问来源于stack exchange,提问作者ern0
相关产品推荐
相关产品推荐

