系统信息

  • openvino_2024.6
  • 操作系统:ubuntu20.04

具体报错内容

/usr/bin/ld: warning: libtbb.so.2, needed by /usr/lib/x86_64-linux-gnu/libopencv_core.so.4.2.0, not found (try using -rpath or -rpath-link)
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libopencv_core.so.4.2.0: undefined reference to tbb::internal::allocate_root_with_context_proxy::free(tbb::task&) const' /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libopencv_core.so.4.2.0: undefined reference to tbb::interface7::internal::task_arena_base::internal_max_concurrency(tbb::interface7::task_arena const*)’
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libopencv_core.so.4.2.0: undefined reference to tbb::internal::allocate_continuation_proxy::allocate(unsigned long) const' /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libopencv_core.so.4.2.0: undefined reference to tbb::internal::allocate_root_with_context_proxy::allocate(unsigned long) const’
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libopencv_core.so.4.2.0: undefined reference to tbb::task::note_affinity(unsigned short)' /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libopencv_core.so.4.2.0: undefined reference to tbb::interface7::internal::task_arena_base::internal_current_slot()’
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libopencv_core.so.4.2.0: undefined reference to typeinfo for tbb::task' /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libopencv_core.so.4.2.0: undefined reference to tbb::task_group_context::init()’
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libopencv_core.so.4.2.0: undefined reference to tbb::internal::get_initial_auto_partitioner_divisor()' /usr/bin/ld: /usr/lib/x86_64-linux-gnu/libopencv_core.so.4.2.0: undefined reference to tbb::task_group_context::~task_group_context()’
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libopencv_core.so.4.2.0: undefined reference to `tbb::internal::allocate_child_proxy::allocate(unsigned long) const’
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libopencv_core.so.4.2.0: undefined reference to `tbb::task_group_context::is_group_execution_cancelled() const’
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libopencv_core.so.4.2.0: undefined reference to `tbb::interface7::internal::task_arena_base::internal_terminate()’
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libopencv_core.so.4.2.0: undefined reference to `tbb::interface7::internal::task_arena_base::internal_initialize()’
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libopencv_core.so.4.2.0: undefined reference to `tbb::interface7::internal::task_arena_base::internal_execute(tbb::interface7::internal::delegate_base&) const’
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/detect.dir/build.make:148:detect] 错误 1
make[1]: *** [CMakeFiles/Makefile2:76:CMakeFiles/detect.dir/all] 错误 2
make: *** [Makefile:84:all] 错误 2

还有一种报错大致信息是libopenvino.so需要依赖libtbb.so.12,让下面是一堆没有定义**函数。

原因

因为笔者的opencv 依赖libtbb.so.2,而openvino依赖libtbb.so.12。但是我们的系统环境下可能只有libtbb.so.2,所以导致openvino没有依赖libtbb.so.12。

解决方法

查看自己的libtbb,so文件在/usr/lib目录下,如果没有找到可以尝试搜索litbb。然后笔者这边查找出来有两个文件libtbb.so和libtbb.so.2,缺少openvino的依赖libtbb.so.12,在openvino runtime/3rdparty下找到libtbb.so.12,复制到查找到的目录即可。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐