Closed fnoop closed 3 years ago
Lots of warnings during build about TBB:
from /srv/maverick/var/build/opencv/modules/core/src/parallel/parallel_tbb.cpp:11: /srv/maverick/software/tbb/include/oneapi/tbb/detail/_config.h:394:45: warning: "__TBB_CPF_BUILD" is not defined, evaluates to 0 [-Wundef] 394 | #define TBB_PREVIEW_FLOW_GRAPH_FEATURES __TBB_CPF_BUILD | ^~~~~~~~~~~~~~~ /srv/maverick/software/tbb/include/oneapi/tbb/detail/_config.h:394:45: note: in definition of macro ‘TBB_PREVIEW_FLOW_GRAPH_FEATURES’ 394 | #define TBB_PREVIEW_FLOW_GRAPH_FEATURES __TBB_CPF_BUILD | ^~~~~~~~~~~~~~~ /srv/maverick/software/tbb/include/oneapi/tbb/flow_graph.h:153:5: note: in expansion of macro ‘__TBB_PREVIEW_FLOW_GRAPH_NODE_SET’ 153 | #if __TBB_PREVIEW_FLOW_GRAPH_NODE_SET | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Then later in build, linking fails:
[ 9%] Linking CXX executable ../../bin/opencv_version /usr/bin/ld: ../../lib/libopencv_core.so.4.5.3: undefined reference to `tbb::detail::r1::spawn(tbb::detail::d1::task&, tbb::detail::d1::task_group_context&)' /usr/bin/ld: ../../lib/libopencv_core.so.4.5.3: undefined reference to `tbb::detail::r1::allocate(tbb::detail::d1::small_object_pool*&, unsigned long)' /usr/bin/ld: ../../lib/libopencv_core.so.4.5.3: undefined reference to `tbb::detail::r1::deallocate(tbb::detail::d1::small_object_pool&, void*, unsigned long, tbb::detail::d 1::execution_data const&)' /usr/bin/ld: ../../lib/libopencv_core.so.4.5.3: undefined reference to `tbb::detail::r1::initialize(tbb::detail::d1::task_arena_base&)' /usr/bin/ld: ../../lib/libopencv_core.so.4.5.3: undefined reference to `tbb::detail::r1::destroy(tbb::detail::d1::task_group_context&)' /usr/bin/ld: ../../lib/libopencv_core.so.4.5.3: undefined reference to `tbb::detail::r1::allocate(tbb::detail::d1::small_object_pool*&, unsigned long, tbb::detail::d1::execu tion_data const&)' /usr/bin/ld: ../../lib/libopencv_core.so.4.5.3: undefined reference to `tbb::detail::r1::execute(tbb::detail::d1::task_arena_base&, tbb::detail::d1::delegate_base&)' /usr/bin/ld: ../../lib/libopencv_core.so.4.5.3: undefined reference to `tbb::detail::r1::terminate(tbb::detail::d1::task_arena_base&)' /usr/bin/ld: ../../lib/libopencv_core.so.4.5.3: undefined reference to `tbb::detail::r1::execute_and_wait(tbb::detail::d1::task&, tbb::detail::d1::task_group_context&, tbb:: detail::d1::wait_context&, tbb::detail::d1::task_group_context&)' /usr/bin/ld: ../../lib/libopencv_core.so.4.5.3: undefined reference to `tbb::detail::r1::initialize(tbb::detail::d1::task_group_context&)' /usr/bin/ld: ../../lib/libopencv_core.so.4.5.3: undefined reference to `tbb::detail::r1::is_group_execution_cancelled(tbb::detail::d1::task_group_context&)' /usr/bin/ld: ../../lib/libopencv_core.so.4.5.3: undefined reference to `tbb::detail::r1::execution_slot(tbb::detail::d1::execution_data const*)' /usr/bin/ld: ../../lib/libopencv_core.so.4.5.3: undefined reference to `tbb::detail::r1::max_concurrency(tbb::detail::d1::task_arena_base const*)' /usr/bin/ld: ../../lib/libopencv_core.so.4.5.3: undefined reference to `tbb::detail::r1::notify_waiters(unsigned long)' collect2: error: ld returned 1 exit status make[2]: *** [apps/version/CMakeFiles/opencv_version.dir/build.make:87: bin/opencv_version] Error 1 make[1]: *** [CMakeFiles/Makefile2:18970: apps/version/CMakeFiles/opencv_version.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs....
Build libopencv_core.so references tbb symbols that aren't referenced, probably because no tbb is linked in:
[bootstrap] [mav@maverick-desktopvm ~/var/build/opencv/build]$ ldd -r ./lib/libopencv_core.so.4.5.3 linux-vdso.so.1 (0x00007fff83f08000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f4b93ded000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f4b93dca000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f4b93dae000) libopenblas.so.0 => /srv/maverick/software/openblas/lib/libopenblas.so.0 (0x00007f4b930a0000) libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f4b92ebe000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f4b92d6d000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f4b92d52000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f4b92b60000) /lib64/ld-linux-x86-64.so.2 (0x00007f4b94e31000) libgfortran.so.5 => /lib/x86_64-linux-gnu/libgfortran.so.5 (0x00007f4b92898000) libquadmath.so.0 => /lib/x86_64-linux-gnu/libquadmath.so.0 (0x00007f4b9284e000) undefined symbol: _ZN3tbb6detail2r15spawnERNS0_2d14taskERNS2_18task_group_contextE (./lib/libopencv_core.so.4.5.3) undefined symbol: _ZN3tbb6detail2r18allocateERPNS0_2d117small_object_poolEm (./lib/libopencv_core.so.4.5.3) undefined symbol: _ZN3tbb6detail2r110deallocateERNS0_2d117small_object_poolEPvmRKNS2_14execution_dataE (./lib/libopencv_core.so.4.5.3) undefined symbol: _ZN3tbb6detail2r110initializeERNS0_2d115task_arena_baseE (./lib/libopencv_core.so.4.5.3) undefined symbol: _ZN3tbb6detail2r17destroyERNS0_2d118task_group_contextE (./lib/libopencv_core.so.4.5.3) undefined symbol: _ZN3tbb6detail2r18allocateERPNS0_2d117small_object_poolEmRKNS2_14execution_dataE (./lib/libopencv_core.so.4.5.3) undefined symbol: _ZN3tbb6detail2r17executeERNS0_2d115task_arena_baseERNS2_13delegate_baseE (./lib/libopencv_core.so.4.5.3) undefined symbol: _ZN3tbb6detail2r19terminateERNS0_2d115task_arena_baseE (./lib/libopencv_core.so.4.5.3) undefined symbol: _ZN3tbb6detail2r116execute_and_waitERNS0_2d14taskERNS2_18task_group_contextERNS2_12wait_contextES6_ (./lib/libopencv_core.so.4.5.3) undefined symbol: _ZN3tbb6detail2r110initializeERNS0_2d118task_group_contextE (./lib/libopencv_core.so.4.5.3) undefined symbol: _ZN3tbb6detail2r128is_group_execution_cancelledERNS0_2d118task_group_contextE (./lib/libopencv_core.so.4.5.3) undefined symbol: _ZN3tbb6detail2r114execution_slotEPKNS0_2d114execution_dataE (./lib/libopencv_core.so.4.5.3) undefined symbol: _ZN3tbb6detail2r115max_concurrencyEPKNS0_2d115task_arena_baseE (./lib/libopencv_core.so.4.5.3) undefined symbol: _ZN3tbb6detail2r114notify_waitersEm (./lib/libopencv_core.so.4.5.3)
Finding/using the wrong tbb: -- Found TBB (cmake): /usr/lib/x86_64-linux-gnu/libtbb.so.2
-- Found TBB (cmake): /usr/lib/x86_64-linux-gnu/libtbb.so.2
Lots of warnings during build about TBB:
Then later in build, linking fails:
Build libopencv_core.so references tbb symbols that aren't referenced, probably because no tbb is linked in: