Intel® oneAPI Data Parallel C++
Support for Intel® oneAPI DPC++ Compiler, Intel® oneAPI DPC++ Library, Intel® DPC++ Compatibility Tool, and GDB*

Linking errors when using dpcpp and tbb

bdaase
Beginner
1,010 Views

I have a C++ project which links against tbb. It compiles and links perfectly fine when using either gcc (version 11.0.1) or clang (version 12.0.0). However, it does not link anymore when using dpcpp (version 2021.2.0.20210317).

I assume this error is caused by dpcpp using the Intel-shipped tbb (due to the previous sourcing of `/opt/intel/oneapi/setvars.sh intel64').

The full link output when using dpcpp looks as follows

 

 

/usr/bin/ld: /usr/bin/ld: DWARF error: could not find variable specification at offset da2a
libgrizzly-lib.a(Aggregation.cpp.o): in function `tbb::detail::d1::tbb_allocator<tbb::detail::d1::value_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ProfilingHandler*>, unsigned long> >::allocate(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:60: undefined reference to `tbb::detail::r1::allocate_memory(unsigned long)'
/usr/bin/ld: libgrizzly-lib.a(Aggregation.cpp.o): in function `tbb::detail::d1::tbb_allocator<tbb::detail::d1::value_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ProfilingHandler*>, unsigned long> >::deallocate(tbb::detail::d1::value_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ProfilingHandler*>, unsigned long>*, unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:65: undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
/usr/bin/ld: /opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:65: undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
/usr/bin/ld: libgrizzly-lib.a(Aggregation.cpp.o): in function `tbb::detail::d1::tbb_allocator<std::atomic<tbb::detail::d1::list_node<unsigned long>*> >::allocate(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:60: undefined reference to `tbb::detail::r1::allocate_memory(unsigned long)'
/usr/bin/ld: libgrizzly-lib.a(Aggregation.cpp.o): in function `tbb::detail::d1::tbb_allocator<std::atomic<tbb::detail::d1::list_node<unsigned long>*> >::deallocate(std::atomic<tbb::detail::d1::list_node<unsigned long>*>*, unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:65: undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
/usr/bin/ld: libgrizzly-lib.a(Aggregation.cpp.o): in function `std::atomic<tbb::detail::d1::list_node<unsigned long>*>& tbb::detail::d1::segment_table<std::atomic<tbb::detail::d1::list_node<unsigned long>*>, tbb::detail::d1::tbb_allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ProfilingHandler*> >, tbb::detail::d1::concurrent_unordered_base<tbb::detail::d1::concurrent_unordered_map_traits<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ProfilingHandler*, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, tbb::detail::d1::tbb_allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ProfilingHandler*> >, false> >::unordered_segment_table, 63ul>::internal_subscript<true>(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/detail/_segment_table.h:517: undefined reference to `tbb::detail::r1::throw_exception(tbb::detail::d0::exception_id)'
/usr/bin/ld: libgrizzly-lib.a(Aggregation.cpp.o): in function `tbb::detail::d1::tbb_allocator<std::atomic<tbb::detail::d1::list_node<unsigned long>*> >::allocate(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:60: undefined reference to `tbb::detail::r1::allocate_memory(unsigned long)'
/usr/bin/ld: libgrizzly-lib.a(Aggregation.cpp.o): in function `tbb::detail::d1::tbb_allocator<std::atomic<tbb::detail::d1::list_node<unsigned long>*> >::deallocate(std::atomic<tbb::detail::d1::list_node<unsigned long>*>*, unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:65: undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
/usr/bin/ld: libgrizzly-lib.a(Aggregation.cpp.o): in function `std::atomic<tbb::detail::d1::list_node<unsigned long>*>& tbb::detail::d1::segment_table<std::atomic<tbb::detail::d1::list_node<unsigned long>*>, tbb::detail::d1::tbb_allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ProfilingHandler*> >, tbb::detail::d1::concurrent_unordered_base<tbb::detail::d1::concurrent_unordered_map_traits<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ProfilingHandler*, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, tbb::detail::d1::tbb_allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ProfilingHandler*> >, false> >::unordered_segment_table, 63ul>::internal_subscript<true>(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/detail/_segment_table.h:517: undefined reference to `tbb::detail::r1::throw_exception(tbb::detail::d0::exception_id)'
/usr/bin/ld: libgrizzly-lib.a(Aggregation.cpp.o): in function `tbb::detail::d1::tbb_allocator<std::atomic<tbb::detail::d1::list_node<unsigned long>*> >::allocate(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:60: undefined reference to `tbb::detail::r1::allocate_memory(unsigned long)'
/usr/bin/ld: libgrizzly-lib.a(Aggregation.cpp.o): in function `tbb::detail::d1::tbb_allocator<std::atomic<tbb::detail::d1::list_node<unsigned long>*> >::deallocate(std::atomic<tbb::detail::d1::list_node<unsigned long>*>*, unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:65: undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
/usr/bin/ld: libgrizzly-lib.a(Aggregation.cpp.o): in function `std::atomic<tbb::detail::d1::list_node<unsigned long>*>& tbb::detail::d1::segment_table<std::atomic<tbb::detail::d1::list_node<unsigned long>*>, tbb::detail::d1::tbb_allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ProfilingHandler*> >, tbb::detail::d1::concurrent_unordered_base<tbb::detail::d1::concurrent_unordered_map_traits<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ProfilingHandler*, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, tbb::detail::d1::tbb_allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ProfilingHandler*> >, false> >::unordered_segment_table, 63ul>::internal_subscript<true>(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/detail/_segment_table.h:517: undefined reference to `tbb::detail::r1::throw_exception(tbb::detail::d0::exception_id)'
/usr/bin/ld: libgrizzly-lib.a(Aggregation.cpp.o): in function `tbb::detail::d1::tbb_allocator<tbb::detail::d1::list_node<unsigned long> >::allocate(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:60: undefined reference to `tbb::detail::r1::allocate_memory(unsigned long)'
/usr/bin/ld: libgrizzly-lib.a(Aggregation.cpp.o): in function `tbb::detail::d1::tbb_allocator<std::atomic<tbb::detail::d1::list_node<unsigned long>*> >::allocate(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:60: undefined reference to `tbb::detail::r1::allocate_memory(unsigned long)'
/usr/bin/ld: libgrizzly-lib.a(Aggregation.cpp.o): in function `tbb::detail::d1::tbb_allocator<std::atomic<tbb::detail::d1::list_node<unsigned long>*> >::deallocate(std::atomic<tbb::detail::d1::list_node<unsigned long>*>*, unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:65: undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
/usr/bin/ld: libgrizzly-lib.a(Aggregation.cpp.o): in function `std::atomic<tbb::detail::d1::list_node<unsigned long>*>& tbb::detail::d1::segment_table<std::atomic<tbb::detail::d1::list_node<unsigned long>*>, tbb::detail::d1::tbb_allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ProfilingHandler*> >, tbb::detail::d1::concurrent_unordered_base<tbb::detail::d1::concurrent_unordered_map_traits<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ProfilingHandler*, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, tbb::detail::d1::tbb_allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ProfilingHandler*> >, false> >::unordered_segment_table, 63ul>::internal_subscript<true>(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/detail/_segment_table.h:517: undefined reference to `tbb::detail::r1::throw_exception(tbb::detail::d0::exception_id)'
/usr/bin/ld: libgrizzly-lib.a(Aggregation.cpp.o): in function `tbb::detail::d1::concurrent_unordered_base<tbb::detail::d1::concurrent_unordered_map_traits<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ProfilingHandler*, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, tbb::detail::d1::tbb_allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ProfilingHandler*> >, false> >::destroy_node(tbb::detail::d1::list_node<unsigned long>*)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/detail/_concurrent_unordered_base.h:(.text._ZN3tbb6detail2d125concurrent_unordered_baseINS1_31concurrent_unordered_map_traitsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP16ProfilingHandlerSt4hashIS9_ESt8equal_toIS9_ENS1_13tbb_allocatorISt4pairIKS9_SB_EEELb0EEEE11init_bucketEm[_ZN3tbb6detail2d125concurrent_unordered_baseINS1_31concurrent_unordered_map_traitsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP16ProfilingHandlerSt4hashIS9_ESt8equal_toIS9_ENS1_13tbb_allocatorISt4pairIKS9_SB_EEELb0EEEE11init_bucketEm]+0x31e): undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
/usr/bin/ld: libgrizzly-lib.a(Aggregation.cpp.o): in function `tbb::detail::d1::tbb_allocator<std::atomic<tbb::detail::d1::list_node<unsigned long>*> >::allocate(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:60: undefined reference to `tbb::detail::r1::allocate_memory(unsigned long)'
/usr/bin/ld: libgrizzly-lib.a(Aggregation.cpp.o): in function `tbb::detail::d1::tbb_allocator<std::atomic<tbb::detail::d1::list_node<unsigned long>*> >::deallocate(std::atomic<tbb::detail::d1::list_node<unsigned long>*>*, unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:65: undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
/usr/bin/ld: libgrizzly-lib.a(Aggregation.cpp.o): in function `std::atomic<tbb::detail::d1::list_node<unsigned long>*>& tbb::detail::d1::segment_table<std::atomic<tbb::detail::d1::list_node<unsigned long>*>, tbb::detail::d1::tbb_allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ProfilingHandler*> >, tbb::detail::d1::concurrent_unordered_base<tbb::detail::d1::concurrent_unordered_map_traits<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ProfilingHandler*, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, tbb::detail::d1::tbb_allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ProfilingHandler*> >, false> >::unordered_segment_table, 63ul>::internal_subscript<true>(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/detail/_segment_table.h:517: undefined reference to `tbb::detail::r1::throw_exception(tbb::detail::d0::exception_id)'
/usr/bin/ld: libgrizzly-lib.a(Aggregation.cpp.o): in function `tbb::detail::d1::tbb_allocator<std::atomic<tbb::detail::d1::list_node<unsigned long>*> >::allocate(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:60: undefined reference to `tbb::detail::r1::allocate_memory(unsigned long)'
/usr/bin/ld: libgrizzly-lib.a(Aggregation.cpp.o): in function `tbb::detail::d1::tbb_allocator<std::atomic<tbb::detail::d1::list_node<unsigned long>*> >::deallocate(std::atomic<tbb::detail::d1::list_node<unsigned long>*>*, unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:65: undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
/usr/bin/ld: libgrizzly-lib.a(Aggregation.cpp.o): in function `std::atomic<tbb::detail::d1::list_node<unsigned long>*>& tbb::detail::d1::segment_table<std::atomic<tbb::detail::d1::list_node<unsigned long>*>, tbb::detail::d1::tbb_allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ProfilingHandler*> >, tbb::detail::d1::concurrent_unordered_base<tbb::detail::d1::concurrent_unordered_map_traits<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ProfilingHandler*, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, tbb::detail::d1::tbb_allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ProfilingHandler*> >, false> >::unordered_segment_table, 63ul>::internal_subscript<true>(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/detail/_segment_table.h:517: undefined reference to `tbb::detail::r1::throw_exception(tbb::detail::d0::exception_id)'
/usr/bin/ld: /usr/bin/ld: DWARF error: could not find variable specification at offset ee38
libgrizzly-lib.a(Predicate.cpp.o): in function `tbb::detail::d1::tbb_allocator<tbb::detail::d1::value_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ProfilingHandler*>, unsigned long> >::allocate(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:60: undefined reference to `tbb::detail::r1::allocate_memory(unsigned long)'
/usr/bin/ld: libgrizzly-lib.a(Predicate.cpp.o): in function `tbb::detail::d1::tbb_allocator<tbb::detail::d1::value_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ProfilingHandler*>, unsigned long> >::deallocate(tbb::detail::d1::value_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ProfilingHandler*>, unsigned long>*, unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:65: undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
/usr/bin/ld: /opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:65: undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
/usr/bin/ld: /usr/bin/ld: DWARF error: could not find variable specification at offset dbae
libgrizzly-lib.a(WindowOperator.cpp.o): in function `tbb::detail::d1::tbb_allocator<tbb::detail::d1::value_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ProfilingHandler*>, unsigned long> >::allocate(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:60: undefined reference to `tbb::detail::r1::allocate_memory(unsigned long)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `tbb::detail::d1::tbb_allocator<tbb::detail::d1::value_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ProfilingHandler*>, unsigned long> >::deallocate(tbb::detail::d1::value_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ProfilingHandler*>, unsigned long>*, unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:65: undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `tbb::detail::d1::tbb_allocator<std::atomic<tbb::detail::d1::list_node<unsigned long>*> >::allocate(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:60: undefined reference to `tbb::detail::r1::allocate_memory(unsigned long)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `tbb::detail::d1::tbb_allocator<std::atomic<tbb::detail::d1::list_node<unsigned long>*> >::deallocate(std::atomic<tbb::detail::d1::list_node<unsigned long>*>*, unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:65: undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `std::atomic<tbb::detail::d1::list_node<unsigned long>*>& tbb::detail::d1::segment_table<std::atomic<tbb::detail::d1::list_node<unsigned long>*>, tbb::detail::d1::tbb_allocator<std::pair<int const, int> >, tbb::detail::d1::concurrent_unordered_base<tbb::detail::d1::concurrent_unordered_map_traits<int, int, std::hash<int>, std::equal_to<int>, tbb::detail::d1::tbb_allocator<std::pair<int const, int> >, false> >::unordered_segment_table, 63ul>::internal_subscript<true>(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/detail/_segment_table.h:517: undefined reference to `tbb::detail::r1::throw_exception(tbb::detail::d0::exception_id)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `tbb::detail::d1::tbb_allocator<std::atomic<tbb::detail::d1::list_node<unsigned long>*> >::allocate(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:60: undefined reference to `tbb::detail::r1::allocate_memory(unsigned long)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `tbb::detail::d1::tbb_allocator<std::atomic<tbb::detail::d1::list_node<unsigned long>*> >::deallocate(std::atomic<tbb::detail::d1::list_node<unsigned long>*>*, unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:65: undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `std::atomic<tbb::detail::d1::list_node<unsigned long>*>& tbb::detail::d1::segment_table<std::atomic<tbb::detail::d1::list_node<unsigned long>*>, tbb::detail::d1::tbb_allocator<std::pair<int const, int> >, tbb::detail::d1::concurrent_unordered_base<tbb::detail::d1::concurrent_unordered_map_traits<int, int, std::hash<int>, std::equal_to<int>, tbb::detail::d1::tbb_allocator<std::pair<int const, int> >, false> >::unordered_segment_table, 63ul>::internal_subscript<true>(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/detail/_segment_table.h:517: undefined reference to `tbb::detail::r1::throw_exception(tbb::detail::d0::exception_id)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `tbb::detail::d1::tbb_allocator<tbb::detail::d1::list_node<unsigned long> >::allocate(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:60: undefined reference to `tbb::detail::r1::allocate_memory(unsigned long)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `std::atomic<tbb::detail::d1::list_node<unsigned long>*>& tbb::detail::d1::segment_table<std::atomic<tbb::detail::d1::list_node<unsigned long>*>, tbb::detail::d1::tbb_allocator<std::pair<int const, int> >, tbb::detail::d1::concurrent_unordered_base<tbb::detail::d1::concurrent_unordered_map_traits<int, int, std::hash<int>, std::equal_to<int>, tbb::detail::d1::tbb_allocator<std::pair<int const, int> >, false> >::unordered_segment_table, 63ul>::internal_subscript<true>(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/detail/_segment_table.h:517: undefined reference to `tbb::detail::r1::throw_exception(tbb::detail::d0::exception_id)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `tbb::detail::d1::tbb_allocator<tbb::detail::d1::value_node<std::pair<int const, int>, unsigned long> >::allocate(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:60: undefined reference to `tbb::detail::r1::allocate_memory(unsigned long)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `tbb::detail::d1::tbb_allocator<std::atomic<tbb::detail::d1::list_node<unsigned long>*> >::allocate(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:60: undefined reference to `tbb::detail::r1::allocate_memory(unsigned long)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `tbb::detail::d1::tbb_allocator<std::atomic<tbb::detail::d1::list_node<unsigned long>*> >::deallocate(std::atomic<tbb::detail::d1::list_node<unsigned long>*>*, unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:65: undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `tbb::detail::d1::tbb_allocator<tbb::detail::d1::value_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ProfilingHandler*>, unsigned long> >::deallocate(tbb::detail::d1::value_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ProfilingHandler*>, unsigned long>*, unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:65: undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `tbb::detail::d1::concurrent_unordered_base<tbb::detail::d1::concurrent_unordered_map_traits<int, int, std::hash<int>, std::equal_to<int>, tbb::detail::d1::tbb_allocator<std::pair<int const, int> >, false> >::destroy_node(tbb::detail::d1::list_node<unsigned long>*)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/detail/_concurrent_unordered_base.h:(.text+0x1abc): undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `tbb::detail::d1::tbb_allocator<tbb::detail::d1::value_node<std::pair<int const, int>, unsigned long> >::allocate(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:60: undefined reference to `tbb::detail::r1::allocate_memory(unsigned long)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `tbb::detail::d1::tbb_allocator<tbb::detail::d1::value_node<std::pair<int const, int>, unsigned long> >::deallocate(tbb::detail::d1::value_node<std::pair<int const, int>, unsigned long>*, unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:65: undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `tbb::detail::d1::tbb_allocator<std::atomic<tbb::detail::d1::list_node<unsigned long>*> >::allocate(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:60: undefined reference to `tbb::detail::r1::allocate_memory(unsigned long)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `tbb::detail::d1::tbb_allocator<std::atomic<tbb::detail::d1::list_node<unsigned long>*> >::deallocate(std::atomic<tbb::detail::d1::list_node<unsigned long>*>*, unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:65: undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `std::atomic<tbb::detail::d1::list_node<unsigned long>*>& tbb::detail::d1::segment_table<std::atomic<tbb::detail::d1::list_node<unsigned long>*>, tbb::detail::d1::tbb_allocator<std::pair<int const, int> >, tbb::detail::d1::concurrent_unordered_base<tbb::detail::d1::concurrent_unordered_map_traits<int, int, std::hash<int>, std::equal_to<int>, tbb::detail::d1::tbb_allocator<std::pair<int const, int> >, false> >::unordered_segment_table, 63ul>::internal_subscript<true>(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/detail/_segment_table.h:517: undefined reference to `tbb::detail::r1::throw_exception(tbb::detail::d0::exception_id)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `tbb::detail::d1::tbb_allocator<std::atomic<tbb::detail::d1::list_node<unsigned long>*> >::allocate(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:60: undefined reference to `tbb::detail::r1::allocate_memory(unsigned long)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `tbb::detail::d1::tbb_allocator<std::atomic<tbb::detail::d1::list_node<unsigned long>*> >::deallocate(std::atomic<tbb::detail::d1::list_node<unsigned long>*>*, unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:65: undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `std::atomic<tbb::detail::d1::list_node<unsigned long>*>& tbb::detail::d1::segment_table<std::atomic<tbb::detail::d1::list_node<unsigned long>*>, tbb::detail::d1::tbb_allocator<std::pair<int const, int> >, tbb::detail::d1::concurrent_unordered_base<tbb::detail::d1::concurrent_unordered_map_traits<int, int, std::hash<int>, std::equal_to<int>, tbb::detail::d1::tbb_allocator<std::pair<int const, int> >, false> >::unordered_segment_table, 63ul>::internal_subscript<true>(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/detail/_segment_table.h:517: undefined reference to `tbb::detail::r1::throw_exception(tbb::detail::d0::exception_id)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `tbb::detail::d1::tbb_allocator<std::atomic<tbb::detail::d1::list_node<unsigned long>*> >::allocate(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:60: undefined reference to `tbb::detail::r1::allocate_memory(unsigned long)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `tbb::detail::d1::tbb_allocator<std::atomic<tbb::detail::d1::list_node<unsigned long>*> >::deallocate(std::atomic<tbb::detail::d1::list_node<unsigned long>*>*, unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:65: undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `std::atomic<tbb::detail::d1::list_node<unsigned long>*>& tbb::detail::d1::segment_table<std::atomic<tbb::detail::d1::list_node<unsigned long>*>, tbb::detail::d1::tbb_allocator<std::pair<int const, int> >, tbb::detail::d1::concurrent_unordered_base<tbb::detail::d1::concurrent_unordered_map_traits<int, int, std::hash<int>, std::equal_to<int>, tbb::detail::d1::tbb_allocator<std::pair<int const, int> >, false> >::unordered_segment_table, 63ul>::internal_subscript<true>(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/detail/_segment_table.h:517: undefined reference to `tbb::detail::r1::throw_exception(tbb::detail::d0::exception_id)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `tbb::detail::d1::tbb_allocator<tbb::detail::d1::list_node<unsigned long> >::allocate(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:60: undefined reference to `tbb::detail::r1::allocate_memory(unsigned long)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `tbb::detail::d1::tbb_allocator<std::atomic<tbb::detail::d1::list_node<unsigned long>*> >::allocate(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:60: undefined reference to `tbb::detail::r1::allocate_memory(unsigned long)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `tbb::detail::d1::tbb_allocator<std::atomic<tbb::detail::d1::list_node<unsigned long>*> >::deallocate(std::atomic<tbb::detail::d1::list_node<unsigned long>*>*, unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:65: undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `std::atomic<tbb::detail::d1::list_node<unsigned long>*>& tbb::detail::d1::segment_table<std::atomic<tbb::detail::d1::list_node<unsigned long>*>, tbb::detail::d1::tbb_allocator<std::pair<int const, int> >, tbb::detail::d1::concurrent_unordered_base<tbb::detail::d1::concurrent_unordered_map_traits<int, int, std::hash<int>, std::equal_to<int>, tbb::detail::d1::tbb_allocator<std::pair<int const, int> >, false> >::unordered_segment_table, 63ul>::internal_subscript<true>(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/detail/_segment_table.h:517: undefined reference to `tbb::detail::r1::throw_exception(tbb::detail::d0::exception_id)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `tbb::detail::d1::concurrent_unordered_base<tbb::detail::d1::concurrent_unordered_map_traits<int, int, std::hash<int>, std::equal_to<int>, tbb::detail::d1::tbb_allocator<std::pair<int const, int> >, false> >::destroy_node(tbb::detail::d1::list_node<unsigned long>*)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/detail/_concurrent_unordered_base.h:(.text._ZN3tbb6detail2d125concurrent_unordered_baseINS1_31concurrent_unordered_map_traitsIiiSt4hashIiESt8equal_toIiENS1_13tbb_allocatorISt4pairIKiiEEELb0EEEE11init_bucketEm[_ZN3tbb6detail2d125concurrent_unordered_baseINS1_31concurrent_unordered_map_traitsIiiSt4hashIiESt8equal_toIiENS1_13tbb_allocatorISt4pairIKiiEEELb0EEEE11init_bucketEm]+0x2fe): undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `tbb::detail::d1::tbb_allocator<std::atomic<tbb::detail::d1::list_node<unsigned long>*> >::allocate(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:60: undefined reference to `tbb::detail::r1::allocate_memory(unsigned long)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `tbb::detail::d1::tbb_allocator<std::atomic<tbb::detail::d1::list_node<unsigned long>*> >::deallocate(std::atomic<tbb::detail::d1::list_node<unsigned long>*>*, unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:65: undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `std::atomic<tbb::detail::d1::list_node<unsigned long>*>& tbb::detail::d1::segment_table<std::atomic<tbb::detail::d1::list_node<unsigned long>*>, tbb::detail::d1::tbb_allocator<std::pair<int const, int> >, tbb::detail::d1::concurrent_unordered_base<tbb::detail::d1::concurrent_unordered_map_traits<int, int, std::hash<int>, std::equal_to<int>, tbb::detail::d1::tbb_allocator<std::pair<int const, int> >, false> >::unordered_segment_table, 63ul>::internal_subscript<true>(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/detail/_segment_table.h:517: undefined reference to `tbb::detail::r1::throw_exception(tbb::detail::d0::exception_id)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `tbb::detail::d1::tbb_allocator<std::atomic<tbb::detail::d1::list_node<unsigned long>*> >::allocate(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:60: undefined reference to `tbb::detail::r1::allocate_memory(unsigned long)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `tbb::detail::d1::tbb_allocator<std::atomic<tbb::detail::d1::list_node<unsigned long>*> >::deallocate(std::atomic<tbb::detail::d1::list_node<unsigned long>*>*, unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:65: undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
/usr/bin/ld: libgrizzly-lib.a(WindowOperator.cpp.o): in function `std::atomic<tbb::detail::d1::list_node<unsigned long>*>& tbb::detail::d1::segment_table<std::atomic<tbb::detail::d1::list_node<unsigned long>*>, tbb::detail::d1::tbb_allocator<std::pair<int const, int> >, tbb::detail::d1::concurrent_unordered_base<tbb::detail::d1::concurrent_unordered_map_traits<int, int, std::hash<int>, std::equal_to<int>, tbb::detail::d1::tbb_allocator<std::pair<int const, int> >, false> >::unordered_segment_table, 63ul>::internal_subscript<true>(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/detail/_segment_table.h:517: undefined reference to `tbb::detail::r1::throw_exception(tbb::detail::d0::exception_id)'
/usr/bin/ld: /usr/bin/ld: DWARF error: could not find variable specification at offset 5e
libgrizzly-lib.a(Profiling.cpp.o): in function `tbb::detail::d1::tbb_allocator<tbb::detail::d1::value_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ProfilingHandler*>, unsigned long> >::allocate(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:60: undefined reference to `tbb::detail::r1::allocate_memory(unsigned long)'
/usr/bin/ld: libgrizzly-lib.a(Profiling.cpp.o): in function `tbb::detail::d1::tbb_allocator<tbb::detail::d1::value_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ProfilingHandler*>, unsigned long> >::deallocate(tbb::detail::d1::value_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ProfilingHandler*>, unsigned long>*, unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:65: undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
/usr/bin/ld: /opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:65: undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
/usr/bin/ld: libgrizzly-lib.a(Profiling.cpp.o): in function `tbb::detail::d1::concurrent_unordered_base<tbb::detail::d1::concurrent_unordered_map_traits<int, int, std::hash<int>, std::equal_to<int>, tbb::detail::d1::tbb_allocator<std::pair<int const, int> >, false> >::destroy_node(tbb::detail::d1::list_node<unsigned long>*)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/detail/_concurrent_unordered_base.h:(.text._ZN3tbb6detail2d125concurrent_unordered_baseINS1_31concurrent_unordered_map_traitsIiiSt4hashIiESt8equal_toIiENS1_13tbb_allocatorISt4pairIKiiEEELb0EEEED2Ev[_ZN3tbb6detail2d125concurrent_unordered_baseINS1_31concurrent_unordered_map_traitsIiiSt4hashIiESt8equal_toIiENS1_13tbb_allocatorISt4pairIKiiEEELb0EEEED2Ev]+0x2c): undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
/usr/bin/ld: libgrizzly-lib.a(Profiling.cpp.o): in function `tbb::detail::d1::tbb_allocator<std::atomic<tbb::detail::d1::list_node<unsigned long>*> >::deallocate(std::atomic<tbb::detail::d1::list_node<unsigned long>*>*, unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:65: undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
/usr/bin/ld: libgrizzly-lib.a(Profiling.cpp.o): in function `tbb::detail::d1::tbb_allocator<std::atomic<std::atomic<tbb::detail::d1::list_node<unsigned long>*>*> >::deallocate(std::atomic<std::atomic<tbb::detail::d1::list_node<unsigned long>*>*>*, unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:65: undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
/usr/bin/ld: /usr/bin/ld: DWARF error: could not find variable specification at offset 5e
libgrizzly-lib.a(GroupByOperator.cpp.o): in function `tbb::detail::d1::tbb_allocator<tbb::detail::d1::value_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ProfilingHandler*>, unsigned long> >::allocate(unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:60: undefined reference to `tbb::detail::r1::allocate_memory(unsigned long)'
/usr/bin/ld: libgrizzly-lib.a(GroupByOperator.cpp.o): in function `tbb::detail::d1::tbb_allocator<tbb::detail::d1::value_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ProfilingHandler*>, unsigned long> >::deallocate(tbb::detail::d1::value_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ProfilingHandler*>, unsigned long>*, unsigned long)':
/opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:65: undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
/usr/bin/ld: /opt/intel/oneapi/tbb/latest/env/../include/tbb/../oneapi/tbb/tbb_allocator.h:65: undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
dpcpp: error: linker command failed with exit code 1 (use -v to see invocation)

 

 

Having a quick look into `/opt/intel/oneapi/tbb/latest/include/oneapi/tbb/tbb_allocator.h' makes  me understand, that the calls to `tbb::detail::r1::allocate_memory(unsigned long)' and `tbb::detail::r1::deallocate_memory(void*)' should normally work; the function signatures are even in the same file (line 33-35). 

Does anybody have an idea what id going on here or how I can fix it?

Thanks in advance,
Björn

Labels (1)
0 Kudos
7 Replies
ShivaniK_Intel
Moderator
974 Views

Hi,


Thanks for reaching out to us.


Can you please provide a sample reproducer code and command used to reproduce the error at our end?


Thanks & Regards

Shivani


bdaase
Beginner
972 Views

Sure, here you go

// test.cpp
#include <tbb/concurrent_unordered_map.h>

int main(){
    tbb::concurrent_unordered_map<int, int> ht;

    return 0;
}

 

It is compiled using  `source /opt/intel/oneapi/setvars.sh intel64 && dpcpp test.cpp -o test -ltbb` and produces the following output

/usr/bin/ld: /tmp/test-3d271c.o: in function `tbb::detail::d1::concurrent_unordered_base<tbb::detail::d1::concurrent_unordered_map_traits<int, int, std::hash<int>, std::equal_to<int>, tbb::detail::d1::tbb_allocator<std::pair<int const, int> >, false> >::~concurrent_unordered_base()':
test.cpp:(.text._ZN3tbb6detail2d125concurrent_unordered_baseINS1_31concurrent_unordered_map_traitsIiiSt4hashIiESt8equal_toIiENS1_13tbb_allocatorISt4pairIKiiEEELb0EEEED2Ev[_ZN3tbb6detail2d125concurrent_unordered_baseINS1_31concurrent_unordered_map_traitsIiiSt4hashIiESt8equal_toIiENS1_13tbb_allocatorISt4pairIKiiEEELb0EEEED2Ev]+0x2c): undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
/usr/bin/ld: /tmp/test-3d271c.o: in function `tbb::detail::d1::segment_table<std::atomic<tbb::detail::d1::list_node<unsigned long>*>, tbb::detail::d1::tbb_allocator<std::pair<int const, int> >, tbb::detail::d1::concurrent_unordered_base<tbb::detail::d1::concurrent_unordered_map_traits<int, int, std::hash<int>, std::equal_to<int>, tbb::detail::d1::tbb_allocator<std::pair<int const, int> >, false> >::unordered_segment_table, 63ul>::clear()':
test.cpp:(.text._ZN3tbb6detail2d113segment_tableISt6atomicIPNS1_9list_nodeImEEENS1_13tbb_allocatorISt4pairIKiiEEENS1_25concurrent_unordered_baseINS1_31concurrent_unordered_map_traitsIiiSt4hashIiESt8equal_toIiESC_Lb0EEEE23unordered_segment_tableELm63EE5clearEv[_ZN3tbb6detail2d113segment_tableISt6atomicIPNS1_9list_nodeImEEENS1_13tbb_allocatorISt4pairIKiiEEENS1_25concurrent_unordered_baseINS1_31concurrent_unordered_map_traitsIiiSt4hashIiESt8equal_toIiESC_Lb0EEEE23unordered_segment_tableELm63EE5clearEv]+0x60): undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
/usr/bin/ld: test.cpp:(.text._ZN3tbb6detail2d113segment_tableISt6atomicIPNS1_9list_nodeImEEENS1_13tbb_allocatorISt4pairIKiiEEENS1_25concurrent_unordered_baseINS1_31concurrent_unordered_map_traitsIiiSt4hashIiESt8equal_toIiESC_Lb0EEEE23unordered_segment_tableELm63EE5clearEv[_ZN3tbb6detail2d113segment_tableISt6atomicIPNS1_9list_nodeImEEENS1_13tbb_allocatorISt4pairIKiiEEENS1_25concurrent_unordered_baseINS1_31concurrent_unordered_map_traitsIiiSt4hashIiESt8equal_toIiESC_Lb0EEEE23unordered_segment_tableELm63EE5clearEv]+0x74): undefined reference to `tbb::detail::r1::deallocate_memory(void*)'
dpcpp: error: linker command failed with exit code 1 (use -v to see invocation)

 

Compiling it using gcc `g++ test.cpp -o test -ltbb` works just fine.

ShivaniK_Intel
Moderator
951 Views

Hi,

 

Thank you for providing a reproducer.

 

We are unable to reproduce the error at our end. Kindly provide your system environment details(OS version).

 

Also, could you please confirm whether you are able to compile/execute any other codes? Please try the below sample code and let us know whether you are able to execute it.

 

#include<iostream>

#include<tbb/tbb.h>

int main()

{

    tbb::parallel_invoke(

            [](){std::cout<<"Hello"<<std::endl;},

            [](){std::cout<<"TBB!"<<std::endl;}

            );

    return 0;

}

 

 

Thanks & Regards

Shivani

 

bdaase
Beginner
947 Views

No, that also doesn't link. Output is at follows

 

/usr/bin/ld: /tmp/test2-20ceaa.o: in function `main':
test2.cpp:(.text+0x4c): undefined reference to `tbb::detail::r1::initialize(tbb::detail::d1::task_group_context&)'
/usr/bin/ld: test2.cpp:(.text+0x6b): undefined reference to `tbb::detail::r1::notify_waiters(unsigned long)'
/usr/bin/ld: test2.cpp:(.text+0x10a): undefined reference to `tbb::detail::r1::spawn(tbb::detail::d1::task&, tbb::detail::d1::task_group_context&)'
/usr/bin/ld: test2.cpp:(.text+0x127): 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: test2.cpp:(.text+0x134): undefined reference to `tbb::detail::r1::destroy(tbb::detail::d1::task_group_context&)'
/usr/bin/ld: test2.cpp:(.text+0x155): undefined reference to `tbb::detail::r1::destroy(tbb::detail::d1::task_group_context&)'
/usr/bin/ld: /tmp/test2-20ceaa.o: in function `tbb::detail::d1::function_invoker<main::$_0, tbb::detail::d1::invoke_root_task>::execute(tbb::detail::d1::execution_data&)':
test2.cpp:(.text+0x1f8): undefined reference to `tbb::detail::r1::notify_waiters(unsigned long)'
/usr/bin/ld: /tmp/test2-20ceaa.o: in function `tbb::detail::d1::function_invoker<main::$_0, tbb::detail::d1::invoke_root_task>::cancel(tbb::detail::d1::execution_data&)':
test2.cpp:(.text+0x221): undefined reference to `tbb::detail::r1::notify_waiters(unsigned long)'
/usr/bin/ld: /tmp/test2-20ceaa.o: in function `tbb::detail::d1::function_invoker<main::$_1, tbb::detail::d1::invoke_root_task>::execute(tbb::detail::d1::execution_data&)':
test2.cpp:(.text+0x2b8): undefined reference to `tbb::detail::r1::notify_waiters(unsigned long)'
/usr/bin/ld: /tmp/test2-20ceaa.o: in function `tbb::detail::d1::function_invoker<main::$_1, tbb::detail::d1::invoke_root_task>::cancel(tbb::detail::d1::execution_data&)':
test2.cpp:(.text+0x2e1): undefined reference to `tbb::detail::r1::notify_waiters(unsigned long)'

 

The OS is Fedora 34. 

ShivaniK_Intel
Moderator
913 Views

Hi,

 

Intel officially does not support Fedora 34 for Intel one API TBB 2021.2. Please refer to the below system requirement documentation for supported OS.

 

https://software.intel.com/content/www/us/en/develop/articles/intel-oneapi-threading-building-blocks...

 

However, we suggest you re-install one API Base Toolkit and try recompiling the code.

 

Thanks & Regards

Shivani

 

ShivaniK_Intel
Moderator
858 Views

Hi,


Could you please let us know if your issue is resolved. If yes, please confirm it so that we can close the thread.


Thanks & Regards

Shivani


ShivaniK_Intel
Moderator
812 Views

Hi,


As we have not heard back from you, we are considering that your issue has been resolved and we have answered all your queries. So we will no longer respond to this thread. If you require additional assistance from Intel, please start a new thread. Any further interaction in this thread will be considered community only.


Thanks & Regards

Shivani


Reply