Unbuntu 22版本 安装旧版本Tbb指南
最近部署环境,发现需要tbb,但该库由于版本变更,安装遇到各种问题,下面记录我的部署流程!
- 环境:PyTorch 2.1.0 、Unbuntu 22.04
问题原因:一些脚本依赖了 tbb_stddef.h,但在 TBB 新版本(2021 及更高)中,tbb_stddef.h 文件已经被移除。
解决:核心思路是改进项目中的 FindTBB.cmake 脚本,使其兼容 新旧版本 TBB,从而确保项目能够正常编译和运行。
安装步骤
1、克隆项目代码(根据你的项目)
例如:克隆 mvs-texturing 项目代码,执行以下命令:
git clone https://github.com/nmoehrle/mvs-texturing.git
cd mvs-texturing
2、创建本地分支
git checkout -b fix-tbb-compatibility
3、如果系统中未安装 TBB:
#提前通过以下命令安装 TBB:
sudo apt-get install libtbb-dev
4、拉取 PR 的内容,
git fetch origin pull/221/head:fix-tbb-compatibility-temp
将拉取的 PR 分支切换到当前使用:
git checkout fix-tbb-compatibility-temp
5、合并到当前分支(可选),如果需要将 PR 的更改合并到其他分支(如 main),执行以下命令:
git checkout fix-tbb-compatibility
git merge fix-tbb-compatibility-temp
应用更改后编译项目
删除旧的构建目录,清理之前可能存在的构建内容:
rm -rf build
mkdir build
cd build
配置 CMake
运行 cmake,重新生成项目的构建配置:
cmake .. -DTBB_INCLUDE_DIRS=/usr/include -DTBB_LIBRARY=/usr/lib/x86_64-linux-gnu/libtbb.so
注意:如果 TBB 安装在非默认路径,可通过 -DTBB_INCLUDE_DIRS 和 -DTBB_LIBRARY 指定路径。
编译项目
使用以下命令编译项目:
make -j$(nproc)
验证是否成功
-
检查构建结果
确认构建是否完成,没有报错。如果成功,构建目录下会生成可执行文件。 -
测试 TBB 兼容性
运行项目的功能,验证 TBB 的功能是否正常。你可以测试一下相关依赖 TBB 的功能模块。
其他注意事项
如何恢复到原始代码: 如果应用 PR 后想回到原始代码,可以切换回主分支并删除本地分支:
git checkout main
git branch -D fix-tbb-compatibility-temp
git branch -D fix-tbb-compatibility
完整流程命令概览
1. 克隆项目
git clone https://github.com/nmoehrle/mvs-texturing.git
cd mvs-texturing
2. 创建分支并拉取 PR
git checkout -b fix-tbb-compatibility
git fetch origin pull/221/head:fix-tbb-compatibility-temp
git checkout fix-tbb-compatibility-temp
3. 合并分支(可选)
git checkout fix-tbb-compatibility
git merge fix-tbb-compatibility-temp
4. 配置和编译
rm -rf build
mkdir build
cd build
cmake .. -DTBB_INCLUDE_DIRS=/usr/include -DTBB_LIBRARY=/usr/lib/x86_64-linux-gnu/libtbb.so
make -j$(nproc)
这个流程确保你正确应用了 PR 的修改,并完成了项目的配置和编译。