Community
cancel
Showing results for 
Search instead for 
Did you mean: 
bdaase
Beginner
147 Views

Linking errors when using dpcpp and tbb

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
5 Replies
ShivaniK_Intel
Moderator
111 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
109 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
88 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
84 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
50 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

 

Reply