epruesse / SINA

SINA - Reference based multiple sequence alignment
https://sina.readthedocs.io
GNU General Public License v3.0
42 stars 4 forks source link

build failure ‘tbb_allocator’ is not a member of ‘tbb’ #98

Open smoe opened 3 years ago

smoe commented 3 years ago

Hello, I keep running into

/bin/bash ./libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I.  -I./include -DBOOST_TEST_DYN_LINK -DBOOST_TEST_MAIN -pthread -I/usr/include -I/usr/lib/arb/INCLUDE -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include    -Wdate-time -D_FORTIFY_SOURCE=2 -DNDEBUG  -g -O2 -fdebug-prefix-map=/home/moeller/tmp/sina=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/home/moeller/tmp/sina=. -fstack-protector-strong -Wformat -Werror=format-security -W -Wno-deprecated-copy -c -o src/align.lo src/align.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I./include -DBOOST_TEST_DYN_LINK -DBOOST_TEST_MAIN -pthread -I/usr/include -I/usr/lib/arb/INCLUDE -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -Wdate-time -D_FORTIFY_SOURCE=2 -DNDEBUG -g -O2 -fdebug-prefix-map=/home/moeller/tmp/sina=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/home/moeller/tmp/sina=. -fstack-protector-strong -Wformat -Werror=format-security -W -Wno-deprecated-copy -c src/align.cpp  -fPIC -DPIC -o src/.libs/align.o
src/align.cpp: In function ‘void sina::do_align(sina::cseq&, const cseq&, MASTER&, transition&, std::ostream&)’:
src/align.cpp:484:55: error: ‘tbb_allocator’ is not a member of ‘tbb’
  484 |     using mesh_t = mesh<MASTER, cseq, data_type, tbb::tbb_allocator<data_type>>;
      |                                                       ^~~~~~~~~~~~~
src/align.cpp:484:55: error: ‘tbb_allocator’ is not a member of ‘tbb’
src/align.cpp:484:69: error: template argument 4 is invalid
  484 |     using mesh_t = mesh<MASTER, cseq, data_type, tbb::tbb_allocator<data_type>>;
      |                                                                     ^~~~~~~~~
src/align.cpp:485:59: error: ‘mesh_t’ has not been declared
  485 |     logger->debug("Allocating {}MB for alignment matrix", mesh_t::guessMem(m, c)/1024/1024);
      |                                                           ^~~~~~
src/align.cpp:486:5: error: ‘mesh_t’ was not declared in this scope
  486 |     mesh_t A(m, c);
      |     ^~~~~~
src/align.cpp:491:13: error: ‘A’ was not declared in this scope
  491 |     compute(A, cns);
      |             ^
make[2]: *** [Makefile:1300: src/align.lo] Error 1

Any idea?

g++ (Debian 10.2.1-1) 10.2.1 20201207
libtbb-dev:amd64 2020.3-1
boost 1.71.0

on Debian unstable. I saw the problem also reported in June on https://www.mail-archive.com/debian-mentors@lists.debian.org/msg117530.html.

Many thanks!

smoe commented 3 years ago

The configuration is

dh_auto_configure -- --with-arbhome=/usr/lib/arb \
  --with-tbb=no --with-tbb-malloc=no --disable-static \
   --with-gnu-ld
        ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-option-checking --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --runstatedir=/run --disable-maintainer-mode --disable-dependency-tracking --with-arbhome=/usr/lib/arb --with-tbb=no --with-tbb-malloc=no --disable-static --with-gnu-ld
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
...
epruesse commented 3 years ago

Sounds like a change in tbb. The allocator isn't defined and things go haywire after that.

epruesse commented 3 years ago

Ok, not a change. I think this is because you used "--with-tbb-malloc=no", which should turn off the use off tbb::tbb_allocator<> but doesn't.

epruesse commented 3 years ago

This should be fixed as of 14a17e997945311798c779ca07b3c674fcf97432 and published in 1.7.2

epruesse commented 3 years ago

@smoe Please try this again. I could not reproduce fully. There also will be some performance impact to not using TBB malloc for many threads.

smoe commented 3 years ago

Thank you for your swift action. I had always tried different compiler options, i.e. with and without tbb and tbb-malloc, which from what I recollect always led to the same error. And - good news - we are past that now.

When not passing any options to configure (besides disable static and arbhome) I see

/bin/bash ./libtool  --tag=CXX   --mode=link g++  -g -O2 -fdebug-prefix-map=/home/moeller/tmp/sina=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/home/moeller/tmp/sina=. -fstack-protector-strong -Wformat -Werror=format-security -W -Wno-deprecated-copy -L/usr/lib/x86_64-linux-gnu -L/usr/lib/arb/lib -Wl,-rpath -Wl,/usr/lib/arb/lib   -Wl,-z,relro   -o src/sina src/sina.o src/libsina.la   -lARBDB -lCORE -lglib-2.0 -lboost_program_options -lboost_thread -lpthread -lboost_iostreams -lboost_system -lboost_filesystem -ltbb -ltbbmalloc -ldl -lrt 
libtool: link: g++ -g -O2 -fdebug-prefix-map=/home/moeller/tmp/sina=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/home/moeller/tmp/sina=. -fstack-protector-strong -Wformat -Werror=format-security -W -Wno-deprecated-copy -Wl,-rpath -Wl,/usr/lib/arb/lib -Wl,-z -Wl,relro -o src/.libs/sina src/sina.o  -L/usr/lib/x86_64-linux-gnu -L/usr/lib/arb/lib src/.libs/libsina.so -lARBDB -lCORE -lglib-2.0 -lboost_program_options -lboost_thread -lpthread -lboost_iostreams -lboost_system -lboost_filesystem -ltbb -ltbbmalloc -ldl -lrt
/usr/bin/ld: src/.libs/libsina.so: undefined reference to `aisc_create(aisc_com*, int, AISC_Object const&, int, int, AISC_Object&, ...)'
/usr/bin/ld: src/.libs/libsina.so: undefined reference to `BI_helix::init(GBDATA*, char const*)'
/usr/bin/ld: src/.libs/libsina.so: undefined reference to `aisc_get(aisc_com*, int, AISC_Object const&, ...)'
/usr/bin/ld: src/.libs/libsina.so: undefined reference to `aisc_open(char const*, AISC_Object&, long, char const**)'
/usr/bin/ld: src/.libs/libsina.so: undefined reference to `aisc_close(aisc_com*, AISC_Object&)'
/usr/bin/ld: src/.libs/libsina.so: undefined reference to `aisc_put(aisc_com*, int, AISC_Object const&, ...)'
/usr/bin/ld: src/.libs/libsina.so: undefined reference to `BI_helix::~BI_helix()'
/usr/bin/ld: src/.libs/libsina.so: undefined reference to `BI_helix::BI_helix()'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:1167: src/sina] Error 1
make[2]: Leaving directory '/home/moeller/tmp/sina'
make[1]: *** [Makefile:986: all] Error 2
make[1]: Leaving directory '/home/moeller/tmp/sina'

This does not seem too surprising since

...
checking pkg-config is at least version 0.9.0... yes
checking for glib-2.0 > 2.2... yes
checking arbdb.h usability... yes
checking arbdb.h presence... yes
checking for arbdb.h... yes
checking for libARBDB location... /usr/lib/arb/lib
checking for GB_open in -lARBDB... yes
checking for ARB PROBE_COM... found
checking for aisc_open in ARB PROBE_COM... no
checking for ARB HELIX static lib... no
checking for GBT_FIND_SEQUENCE in libARBDB... no
checking arb_handlers.h usability... yes
checking arb_handlers.h presence... yes
checking for arb_handlers.h... yes
checking ARB status return type... bool
checking for boostlib >= 1.62 (106200)... yes
checking whether the Boost::Thread library is available... yes
checking for exit in -lboost_thread... yes
checking whether the Boost::Program_Options library is available... yes
checking for exit in -lboost_program_options... yes
checking whether the Boost::IOStreams library is available... yes
checking for exit in -lboost_iostreams... yes
...

and when I then add the same compiler flags that suggest not to use the tbb and tbb-malloc, I get a bunch of link errors which seem independent of the tbb-malloc setting (have not checked them all):

/usr/include/tbb/tbb.h:21:154: note: ‘#pragma message: TBB Warning: tbb.h contains deprecated functionality. For details, please see Deprecated Features appendix in the TBB reference manual.’
   21 | #pragma message("TBB Warning: tbb.h contains deprecated functionality. For details, please see Deprecated Features appendix in the TBB reference manual.")
      |                                                                                                                                                          ^
/bin/bash ./libtool  --tag=CXX   --mode=link g++  -g -O2 -fdebug-prefix-map=/home/moeller/tmp/sina=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/home/moeller/tmp/sina=. -fstack-protector-strong -Wformat -Werror=format-security -W -Wno-deprecated-copy -L/usr/lib/arb/lib -Wl,-rpath -Wl,/usr/lib/arb/lib -L/usr/lib/x86_64-linux-gnu -Wl,-z,relro -o src/libsina.la -rpath /usr/lib/x86_64-linux-gnu src/align.lo src/aligned_base.lo src/alignment_stats.lo src/cseq.lo src/cseq_comparator.lo src/famfinder.lo src/mseq.lo src/pseq.lo src/query_arb.lo src/query_pt.lo src/rw_fasta.lo src/rw_arb.lo src/rw_csv.lo src/log.lo src/search.lo src/search_filter.lo src/tray.lo src/kmer_search.lo -lz -lARBDB -lCORE -lglib-2.0 -lboost_program_options -lboost_thread -lpthread -lboost_iostreams -lboost_system -lboost_filesystem   -ldl -lrt 
libtool: link: g++  -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/10/crtbeginS.o  src/.libs/align.o src/.libs/aligned_base.o src/.libs/alignment_stats.o src/.libs/cseq.o src/.libs/cseq_comparator.o src/.libs/famfinder.o src/.libs/mseq.o src/.libs/pseq.o src/.libs/query_arb.o src/.libs/query_pt.o src/.libs/rw_fasta.o src/.libs/rw_arb.o src/.libs/rw_csv.o src/.libs/log.o src/.libs/search.o src/.libs/search_filter.o src/.libs/tray.o src/.libs/kmer_search.o   -L/usr/lib/arb/lib -L/usr/lib/x86_64-linux-gnu -lz -lARBDB -lCORE -lglib-2.0 -lboost_program_options -lboost_thread -lpthread -lboost_iostreams -lboost_system -lboost_filesystem -ldl -lrt -L/usr/lib/gcc/x86_64-linux-gnu/10 -L/usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/10/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/10/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-linux-gnu/10/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/crtn.o  -g -O2 -fstack-protector-strong -g -O2 -fstack-protector-strong -Wl,-rpath -Wl,/usr/lib/arb/lib -Wl,-z -Wl,relro   -Wl,-soname -Wl,libsina.so.0 -o src/.libs/libsina.so.0.0.0
libtool: link: (cd "src/.libs" && rm -f "libsina.so.0" && ln -s "libsina.so.0.0.0" "libsina.so.0")
libtool: link: (cd "src/.libs" && rm -f "libsina.so" && ln -s "libsina.so.0.0.0" "libsina.so")
libtool: link: ( cd "src/.libs" && rm -f "libsina.la" && ln -s "../libsina.la" "libsina.la" )
/bin/bash ./libtool  --tag=CXX   --mode=link g++  -g -O2 -fdebug-prefix-map=/home/moeller/tmp/sina=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/home/moeller/tmp/sina=. -fstack-protector-strong -Wformat -Werror=format-security -W -Wno-deprecated-copy -L/usr/lib/x86_64-linux-gnu -L/usr/lib/arb/lib -Wl,-rpath -Wl,/usr/lib/arb/lib   -Wl,-z,relro -o src/sina src/sina.o src/libsina.la   -lARBDB -lCORE -lglib-2.0 -lboost_program_options -lboost_thread -lpthread -lboost_iostreams -lboost_system -lboost_filesystem   -ldl -lrt 
libtool: link: g++ -g -O2 -fdebug-prefix-map=/home/moeller/tmp/sina=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/home/moeller/tmp/sina=. -fstack-protector-strong -Wformat -Werror=format-security -W -Wno-deprecated-copy -Wl,-rpath -Wl,/usr/lib/arb/lib -Wl,-z -Wl,relro -o src/.libs/sina src/sina.o  -L/usr/lib/x86_64-linux-gnu -L/usr/lib/arb/lib src/.libs/libsina.so -lARBDB -lCORE -lglib-2.0 -lboost_program_options -lboost_thread -lpthread -lboost_iostreams -lboost_system -lboost_filesystem -ldl -lrt
/usr/bin/ld: src/sina.o: in function `void tbb::interface7::task_arena::execute_impl<void, tbb::flow::interface10::graph::spawn_functor>(tbb::flow::interface10::graph::spawn_functor&)':
/usr/include/tbb/task_arena.h:271: undefined reference to `tbb::interface7::internal::task_arena_base::internal_execute(tbb::interface7::internal::delegate_base&) const'
/usr/bin/ld: src/sina.o: in function `operator new(unsigned long, tbb::internal::allocate_continuation_proxy const&)':
/usr/include/tbb/task.h:1163: undefined reference to `tbb::internal::allocate_continuation_proxy::allocate(unsigned long) const'
/usr/bin/ld: src/sina.o: in function `tbb::internal::throw_exception(tbb::internal::exception_id)':
/usr/include/tbb/tbb_exception.h:105: undefined reference to `tbb::internal::throw_exception_v4(tbb::internal::exception_id)'
/usr/bin/ld: src/sina.o: in function `tbb::interface7::task_arena::initialize()':
/usr/include/tbb/task_arena.h:317: undefined reference to `tbb::interface7::internal::task_arena_base::internal_initialize()'
/usr/bin/ld: src/sina.o: in function `get_options_description(boost::program_options::options_description&, boost::program_options::options_description&)':
./src/sina.cpp:228: undefined reference to `tbb::task_scheduler_init::default_num_threads()'
/usr/bin/ld: src/sina.o: in function `tbb::task_scheduler_init::task_scheduler_init(int, unsigned long)':
/usr/include/tbb/task_scheduler_init.h:136: undefined reference to `tbb::task_scheduler_init::initialize(int, unsigned long)'
/usr/bin/ld: src/sina.o: in function `tbb::spin_rw_mutex_v3::scoped_lock::acquire(tbb::spin_rw_mutex_v3&, bool)':
/usr/include/tbb/spin_rw_mutex.h:110: undefined reference to `tbb::spin_rw_mutex_v3::internal_acquire_writer()'
/usr/bin/ld: src/sina.o: in function `void tbb::interface7::task_arena::execute_impl<void, tbb::flow::interface10::graph::wait_functor const>(tbb::flow::interface10::graph::wait_functor const&)':
/usr/include/tbb/task_arena.h:271: undefined reference to `tbb::interface7::internal::task_arena_base::internal_execute(tbb::interface7::internal::delegate_base&) const'
/usr/bin/ld: src/sina.o: in function `tbb::flow::interface10::graph::wait_for_all()':
/usr/include/tbb/internal/_flow_graph_impl.h:347: undefined reference to `tbb::task_group_context::is_group_execution_cancelled() const'
/usr/bin/ld: src/sina.o: in function `tbb::task_scheduler_init::~task_scheduler_init()':
/usr/include/tbb/task_scheduler_init.h:142: undefined reference to `tbb::task_scheduler_init::terminate()'
/usr/bin/ld: src/sina.o: in function `tbb::interface7::task_arena::initialize()':
/usr/include/tbb/task_arena.h:317: undefined reference to `tbb::interface7::internal::task_arena_base::internal_initialize()'
/usr/bin/ld: src/sina.o: in function `tbb::flow::interface10::graph::wait_for_all()':
/usr/include/tbb/internal/_flow_graph_impl.h:364: undefined reference to `tbb::task_group_context::reset()'
/usr/bin/ld: src/sina.o: in function `operator new(unsigned long, tbb::internal::allocate_additional_child_of_proxy const&)':
/usr/include/tbb/task.h:1179: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::allocate(unsigned long) const'
/usr/bin/ld: src/sina.o: in function `tbb::task_scheduler_init::~task_scheduler_init()':
/usr/include/tbb/task_scheduler_init.h:142: undefined reference to `tbb::task_scheduler_init::terminate()'
/usr/bin/ld: src/sina.o: in function `tbb::flow::interface10::graph::wait_for_all()':
/usr/include/tbb/internal/_flow_graph_impl.h:353: undefined reference to `tbb::task_group_context::reset()'
/usr/bin/ld: src/sina.o: in function `non-virtual thunk to tbb::flow::interface11::limiter_node<sina::tray, tbb::flow::interface11::continue_msg>::remove_successor(tbb::flow::interface11::internal::untyped_receiver&)':
sina.cpp:(.text._ZN3tbb4flow11interface1112limiter_nodeIN4sina4trayENS1_12continue_msgEE16remove_successorERNS1_8internal16untyped_receiverE[_ZN3tbb4flow11interface1112limiter_nodeIN4sina4trayENS1_12continue_msgEE16remove_successorERNS1_8internal16untyped_receiverE]+0x28): undefined reference to `tbb::spin_rw_mutex_v3::internal_acquire_writer()'
/usr/bin/ld: src/sina.o: in function `tbb::spin_rw_mutex_v3::scoped_lock::acquire(tbb::spin_rw_mutex_v3&, bool)':
/usr/include/tbb/spin_rw_mutex.h:110: undefined reference to `tbb::spin_rw_mutex_v3::internal_acquire_writer()'
/usr/bin/ld: src/sina.o: in function `void tbb::interface7::task_arena::execute_impl<void, tbb::flow::interface10::graph::wait_functor const>(tbb::flow::interface10::graph::wait_functor const&)':
/usr/include/tbb/task_arena.h:271: undefined reference to `tbb::interface7::internal::task_arena_base::internal_execute(tbb::interface7::internal::delegate_base&) const'
/usr/bin/ld: src/sina.o: in function `tbb::flow::interface10::graph::wait_for_all()':
/usr/include/tbb/internal/_flow_graph_impl.h:347: undefined reference to `tbb::task_group_context::is_group_execution_cancelled() const'
/usr/bin/ld: src/sina.o: in function `tbb::flow::interface10::graph::~graph()':
/usr/include/tbb/flow_graph.h:801: undefined reference to `tbb::interface5::internal::task_base::destroy(tbb::task&)'
/usr/bin/ld: /usr/include/tbb/flow_graph.h:802: undefined reference to `tbb::task_group_context::~task_group_context()'
/usr/bin/ld: src/sina.o: in function `tbb::cache_aligned_allocator<tbb::flow::interface11::graph_task*>::deallocate(tbb::flow::interface11::graph_task**, unsigned long)':
/usr/include/tbb/cache_aligned_allocator.h:87: undefined reference to `tbb::internal::NFS_Free(void*)'
/usr/bin/ld: src/sina.o: in function `tbb::interface7::task_arena::terminate()':
/usr/include/tbb/task_arena.h:361: undefined reference to `tbb::interface7::internal::task_arena_base::internal_terminate()'
/usr/bin/ld: src/sina.o: in function `tbb::flow::interface10::graph::wait_for_all()':
/usr/include/tbb/internal/_flow_graph_impl.h:364: undefined reference to `tbb::task_group_context::reset()'
/usr/bin/ld: src/sina.o: in function `tbb::interface7::task_arena::initialize()':
/usr/include/tbb/task_arena.h:317: undefined reference to `tbb::interface7::internal::task_arena_base::internal_initialize()'
/usr/bin/ld: src/sina.o: in function `tbb::flow::interface10::graph::wait_for_all()':
/usr/include/tbb/internal/_flow_graph_impl.h:353: undefined reference to `tbb::task_group_context::reset()'
/usr/bin/ld: src/sina.o: in function `tbb::spin_rw_mutex_v3::scoped_lock::acquire(tbb::spin_rw_mutex_v3&, bool)':
/usr/include/tbb/spin_rw_mutex.h:110: undefined reference to `tbb::spin_rw_mutex_v3::internal_acquire_writer()'
/usr/bin/ld: /usr/include/tbb/spin_rw_mutex.h:110: undefined reference to `tbb::spin_rw_mutex_v3::internal_acquire_writer()'
/usr/bin/ld: src/sina.o: in function `non-virtual thunk to tbb::flow::interface11::source_node<sina::tray>::remove_successor(tbb::flow::interface11::internal::untyped_receiver&)':
/usr/include/tbb/flow_graph.h:1258: undefined reference to `tbb::spin_rw_mutex_v3::internal_acquire_writer()'
/usr/bin/ld: src/sina.o: in function `tbb::spin_rw_mutex_v3::scoped_lock::acquire(tbb::spin_rw_mutex_v3&, bool)':
/usr/include/tbb/spin_rw_mutex.h:110: undefined reference to `tbb::spin_rw_mutex_v3::internal_acquire_writer()'
/usr/bin/ld: /usr/include/tbb/spin_rw_mutex.h:110: undefined reference to `tbb::spin_rw_mutex_v3::internal_acquire_writer()'
/usr/bin/ld: src/sina.o:/usr/include/tbb/spin_rw_mutex.h:110: more undefined references to `tbb::spin_rw_mutex_v3::internal_acquire_writer()' follow
/usr/bin/ld: src/sina.o: in function `tbb::interface7::task_arena::task_arena(tbb::interface7::task_arena::attach)':
/usr/include/tbb/task_arena.h:310: undefined reference to `tbb::interface7::internal::task_arena_base::internal_attach()'
/usr/bin/ld: src/sina.o: in function `tbb::task_group_context::task_group_context(tbb::internal::string_index)':
/usr/include/tbb/task.h:519: undefined reference to `tbb::task_group_context::init()'
/usr/bin/ld: src/sina.o: in function `operator new(unsigned long, tbb::internal::allocate_root_with_context_proxy const&)':
/usr/include/tbb/task.h:1154: undefined reference to `tbb::internal::allocate_root_with_context_proxy::allocate(unsigned long) const'
/usr/bin/ld: src/sina.o: in function `tbb::interface7::task_arena::initialize()':
/usr/include/tbb/task_arena.h:317: undefined reference to `tbb::interface7::internal::task_arena_base::internal_initialize()'
/usr/bin/ld: src/sina.o: in function `tbb::cache_aligned_allocator<tbb::flow::interface11::graph_task*>::deallocate(tbb::flow::interface11::graph_task**, unsigned long)':
/usr/include/tbb/cache_aligned_allocator.h:87: undefined reference to `tbb::internal::NFS_Free(void*)'
/usr/bin/ld: src/sina.o: in function `tbb::cache_aligned_allocator<tbb::flow::interface11::internal::type_plus_align<sina::tray, tbb::flow::interface11::internal::item_buffer<sina::tray, tbb::cache_aligned_allocator<sina::tray> >::buffer_item_state, 4ul> >::deallocate(tbb::flow::interface11::internal::type_plus_align<sina::tray, tbb::flow::interface11::internal::item_buffer<sina::tray, tbb::cache_aligned_allocator<sina::tray> >::buffer_item_state, 4ul>*, unsigned long)':
/usr/include/tbb/cache_aligned_allocator.h:87: undefined reference to `tbb::internal::NFS_Free(void*)'
/usr/bin/ld: src/sina.o: in function `non-virtual thunk to tbb::flow::interface11::buffer_node<sina::tray, tbb::flow::interface11::null_type>::~buffer_node()':
/usr/include/tbb/flow_graph.h:893: undefined reference to `tbb::internal::NFS_Free(void*)'
/usr/bin/ld: src/sina.o: in function `non-virtual thunk to tbb::flow::interface11::buffer_node<sina::tray, tbb::flow::interface11::null_type>::~buffer_node()':
/usr/include/tbb/flow_graph.h:893: undefined reference to `tbb::internal::NFS_Free(void*)'
/usr/bin/ld: src/sina.o: in function `non-virtual thunk to tbb::flow::interface11::queue_node<sina::tray, tbb::flow::interface11::null_type>::~queue_node()':
sina.cpp:(.text._ZN3tbb4flow11interface1110queue_nodeIN4sina4trayENS1_9null_typeEED2Ev[_ZN3tbb4flow11interface1110queue_nodeIN4sina4trayENS1_9null_typeEED5Ev]+0xf0): undefined reference to `tbb::internal::NFS_Free(void*)'
/usr/bin/ld: src/sina.o:sina.cpp:(.text._ZN3tbb4flow11interface1110queue_nodeIN4sina4trayENS1_9null_typeEED2Ev[_ZN3tbb4flow11interface1110queue_nodeIN4sina4trayENS1_9null_typeEED5Ev]+0x210): more undefined references to `tbb::internal::NFS_Free(void*)' follow
/usr/bin/ld: src/sina.o: in function `tbb::spin_rw_mutex_v3::scoped_lock::acquire(tbb::spin_rw_mutex_v3&, bool)':
/usr/include/tbb/spin_rw_mutex.h:111: undefined reference to `tbb::spin_rw_mutex_v3::internal_acquire_reader()'
/usr/bin/ld: src/sina.o: in function `tbb::cache_aligned_allocator<tbb::flow::interface11::internal::type_plus_align<sina::tray, tbb::flow::interface11::internal::item_buffer<sina::tray, tbb::cache_aligned_allocator<sina::tray> >::buffer_item_state, 4ul> >::deallocate(tbb::flow::interface11::internal::type_plus_align<sina::tray, tbb::flow::interface11::internal::item_buffer<sina::tray, tbb::cache_aligned_allocator<sina::tray> >::buffer_item_state, 4ul>*, unsigned long)':
/usr/include/tbb/cache_aligned_allocator.h:87: undefined reference to `tbb::internal::NFS_Free(void*)'
/usr/bin/ld: /usr/include/tbb/cache_aligned_allocator.h:87: undefined reference to `tbb::internal::NFS_Free(void*)'
/usr/bin/ld: /usr/include/tbb/cache_aligned_allocator.h:87: undefined reference to `tbb::internal::NFS_Free(void*)'
/usr/bin/ld: /usr/include/tbb/cache_aligned_allocator.h:87: undefined reference to `tbb::internal::NFS_Free(void*)'
/usr/bin/ld: /usr/include/tbb/cache_aligned_allocator.h:87: undefined reference to `tbb::internal::NFS_Free(void*)'
/usr/bin/ld: src/sina.o:/usr/include/tbb/flow_graph.h:893: more undefined references to `tbb::internal::NFS_Free(void*)' follow
/usr/bin/ld: src/sina.o: in function `operator new(unsigned long, tbb::internal::allocate_additional_child_of_proxy const&)':
/usr/include/tbb/task.h:1179: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::allocate(unsigned long) const'
/usr/bin/ld: src/sina.o: in function `tbb::cache_aligned_allocator<tbb::flow::interface11::internal::type_plus_align<sina::tray, tbb::flow::interface11::internal::item_buffer<sina::tray, tbb::cache_aligned_allocator<sina::tray> >::buffer_item_state, 4ul> >::deallocate(tbb::flow::interface11::internal::type_plus_align<sina::tray, tbb::flow::interface11::internal::item_buffer<sina::tray, tbb::cache_aligned_allocator<sina::tray> >::buffer_item_state, 4ul>*, unsigned long)':
/usr/include/tbb/cache_aligned_allocator.h:87: undefined reference to `tbb::internal::NFS_Free(void*)'
/usr/bin/ld: src/sina.o: in function `non-virtual thunk to tbb::flow::interface11::function_node<sina::tray, sina::tray, tbb::flow::interface11::internal::graph_policy_namespace::queueing, tbb::flow::interface11::null_type>::~function_node()':
/usr/include/tbb/flow_graph.h:1456: undefined reference to `tbb::internal::NFS_Free(void*)'
/usr/bin/ld: src/sina.o: in function `non-virtual thunk to tbb::flow::interface11::function_node<sina::tray, sina::tray, tbb::flow::interface11::internal::graph_policy_namespace::queueing, tbb::flow::interface11::null_type>::~function_node()':
/usr/include/tbb/flow_graph.h:1456: undefined reference to `tbb::internal::NFS_Free(void*)'
/usr/bin/ld: src/sina.o: in function `non-virtual thunk to tbb::flow::interface11::queue_node<sina::tray, tbb::flow::interface11::null_type>::~queue_node()':
sina.cpp:(.text._ZN3tbb4flow11interface1110queue_nodeIN4sina4trayENS1_9null_typeEED0Ev[_ZN3tbb4flow11interface1110queue_nodeIN4sina4trayENS1_9null_typeEED5Ev]+0xd0): undefined reference to `tbb::internal::NFS_Free(void*)'
/usr/bin/ld: src/sina.o: in function `non-virtual thunk to tbb::flow::interface11::queue_node<sina::tray, tbb::flow::interface11::null_type>::~queue_node()':
sina.cpp:(.text._ZN3tbb4flow11interface1110queue_nodeIN4sina4trayENS1_9null_typeEED0Ev[_ZN3tbb4flow11interface1110queue_nodeIN4sina4trayENS1_9null_typeEED5Ev]+0x1d0): undefined reference to `tbb::internal::NFS_Free(void*)'
/usr/bin/ld: src/sina.o:/usr/include/tbb/cache_aligned_allocator.h:87: more undefined references to `tbb::internal::NFS_Free(void*)' follow
/usr/bin/ld: src/sina.o: in function `tbb::cache_aligned_allocator<tbb::flow::interface11::internal::type_plus_align<sina::tray, tbb::flow::interface11::internal::item_buffer<sina::tray, tbb::cache_aligned_allocator<sina::tray> >::buffer_item_state, 4ul> >::allocate(unsigned long, void const*)':
/usr/include/tbb/cache_aligned_allocator.h:82: undefined reference to `tbb::internal::NFS_Allocate(unsigned long, unsigned long, void*)'
/usr/bin/ld: src/sina.o: in function `tbb::cache_aligned_allocator<tbb::flow::interface11::internal::type_plus_align<sina::tray, tbb::flow::interface11::internal::item_buffer<sina::tray, tbb::cache_aligned_allocator<sina::tray> >::buffer_item_state, 4ul> >::deallocate(tbb::flow::interface11::internal::type_plus_align<sina::tray, tbb::flow::interface11::internal::item_buffer<sina::tray, tbb::cache_aligned_allocator<sina::tray> >::buffer_item_state, 4ul>*, unsigned long)':
/usr/include/tbb/cache_aligned_allocator.h:87: undefined reference to `tbb::internal::NFS_Free(void*)'
/usr/bin/ld: src/sina.o: in function `tbb::cache_aligned_allocator<tbb::flow::interface11::internal::type_plus_align<sina::tray, tbb::flow::interface11::internal::item_buffer<sina::tray, tbb::cache_aligned_allocator<sina::tray> >::buffer_item_state, 4ul> >::allocate(unsigned long, void const*)':
/usr/include/tbb/cache_aligned_allocator.h:82: undefined reference to `tbb::internal::NFS_Allocate(unsigned long, unsigned long, void*)'
/usr/bin/ld: src/sina.o: in function `tbb::cache_aligned_allocator<tbb::flow::interface11::internal::type_plus_align<sina::tray, tbb::flow::interface11::internal::item_buffer<sina::tray, tbb::cache_aligned_allocator<sina::tray> >::buffer_item_state, 4ul> >::deallocate(tbb::flow::interface11::internal::type_plus_align<sina::tray, tbb::flow::interface11::internal::item_buffer<sina::tray, tbb::cache_aligned_allocator<sina::tray> >::buffer_item_state, 4ul>*, unsigned long)':
/usr/include/tbb/cache_aligned_allocator.h:87: undefined reference to `tbb::internal::NFS_Free(void*)'
/usr/bin/ld: /usr/include/tbb/cache_aligned_allocator.h:87: undefined reference to `tbb::internal::NFS_Free(void*)'
/usr/bin/ld: /usr/include/tbb/cache_aligned_allocator.h:87: undefined reference to `tbb::internal::NFS_Free(void*)'
/usr/bin/ld: /usr/include/tbb/cache_aligned_allocator.h:87: undefined reference to `tbb::internal::NFS_Free(void*)'
/usr/bin/ld: src/sina.o: in function `tbb::cache_aligned_allocator<tbb::flow::interface11::graph_task*>::deallocate(tbb::flow::interface11::graph_task**, unsigned long)':
/usr/include/tbb/cache_aligned_allocator.h:87: undefined reference to `tbb::internal::NFS_Free(void*)'
/usr/bin/ld: src/sina.o:/usr/include/tbb/cache_aligned_allocator.h:87: more undefined references to `tbb::internal::NFS_Free(void*)' follow
/usr/bin/ld: src/sina.o: in function `tbb::cache_aligned_allocator<tbb::flow::interface11::graph_task*>::allocate(unsigned long, void const*)':
/usr/include/tbb/cache_aligned_allocator.h:82: undefined reference to `tbb::internal::NFS_Allocate(unsigned long, unsigned long, void*)'
/usr/bin/ld: /usr/include/tbb/cache_aligned_allocator.h:82: undefined reference to `tbb::internal::NFS_Allocate(unsigned long, unsigned long, void*)'
/usr/bin/ld: src/sina.o: in function `tbb::spin_rw_mutex_v3::scoped_lock::acquire(tbb::spin_rw_mutex_v3&, bool)':
/usr/include/tbb/spin_rw_mutex.h:111: undefined reference to `tbb::spin_rw_mutex_v3::internal_acquire_reader()'
/usr/bin/ld: /usr/include/tbb/spin_rw_mutex.h:110: undefined reference to `tbb::spin_rw_mutex_v3::internal_acquire_writer()'
/usr/bin/ld: src/sina.o: in function `operator new(unsigned long, tbb::internal::allocate_additional_child_of_proxy const&)':
/usr/include/tbb/task.h:1179: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::allocate(unsigned long) const'
/usr/bin/ld: src/sina.o: in function `tbb::spin_rw_mutex_v3::scoped_lock::acquire(tbb::spin_rw_mutex_v3&, bool)':
/usr/include/tbb/spin_rw_mutex.h:110: undefined reference to `tbb::spin_rw_mutex_v3::internal_acquire_writer()'
/usr/bin/ld: src/sina.o: in function `operator new(unsigned long, tbb::internal::allocate_additional_child_of_proxy const&)':
/usr/include/tbb/task.h:1179: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::allocate(unsigned long) const'
/usr/bin/ld: src/sina.o: in function `non-virtual thunk to tbb::flow::interface11::source_node<sina::tray>::register_successor(tbb::flow::interface11::internal::untyped_receiver&)':
/usr/include/tbb/flow_graph.h:1249: undefined reference to `tbb::spin_rw_mutex_v3::internal_acquire_writer()'
/usr/bin/ld: /usr/include/tbb/flow_graph.h:1249: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::allocate(unsigned long) const'
/usr/bin/ld: src/sina.o: in function `tbb::spin_rw_mutex_v3::scoped_lock::acquire(tbb::spin_rw_mutex_v3&, bool)':
/usr/include/tbb/spin_rw_mutex.h:111: undefined reference to `tbb::spin_rw_mutex_v3::internal_acquire_reader()'
/usr/bin/ld: src/sina.o: in function `operator new(unsigned long, tbb::internal::allocate_additional_child_of_proxy const&)':
/usr/include/tbb/task.h:1179: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::allocate(unsigned long) const'
/usr/bin/ld: src/sina.o: in function `non-virtual thunk to tbb::flow::interface11::source_node<sina::tray>::try_release()':
/usr/include/tbb/flow_graph.h:1324: undefined reference to `tbb::spin_rw_mutex_v3::internal_acquire_reader()'
/usr/bin/ld: /usr/include/tbb/flow_graph.h:1324: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::allocate(unsigned long) const'
/usr/bin/ld: src/sina.o: in function `tbb::spin_rw_mutex_v3::scoped_lock::acquire(tbb::spin_rw_mutex_v3&, bool)':
/usr/include/tbb/spin_rw_mutex.h:111: undefined reference to `tbb::spin_rw_mutex_v3::internal_acquire_reader()'
/usr/bin/ld: src/sina.o: in function `operator new(unsigned long, tbb::internal::allocate_additional_child_of_proxy const&)':
/usr/include/tbb/task.h:1179: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::allocate(unsigned long) const'
/usr/bin/ld: src/sina.o: in function `non-virtual thunk to tbb::flow::interface11::source_node<sina::tray>::try_consume()':
/usr/include/tbb/flow_graph.h:1334: undefined reference to `tbb::spin_rw_mutex_v3::internal_acquire_reader()'
/usr/bin/ld: /usr/include/tbb/flow_graph.h:1334: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::allocate(unsigned long) const'
/usr/bin/ld: src/sina.o: in function `operator new(unsigned long, tbb::internal::allocate_additional_child_of_proxy const&)':
/usr/include/tbb/task.h:1179: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::allocate(unsigned long) const'
/usr/bin/ld: src/sina.o: in function `non-virtual thunk to tbb::flow::interface11::source_node<sina::tray>::try_get(sina::tray&)':
/usr/include/tbb/flow_graph.h:1290: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::allocate(unsigned long) const'
/usr/bin/ld: src/sina.o: in function `tbb::flow::interface11::internal::priority_task_selector::execute()':
/usr/include/tbb/internal/_flow_graph_impl.h:197: undefined reference to `tbb::interface5::internal::task_base::destroy(tbb::task&)'
/usr/bin/ld: src/sina.o: in function `operator new(unsigned long, tbb::internal::allocate_additional_child_of_proxy const&)':
/usr/include/tbb/task.h:1179: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::allocate(unsigned long) const'
/usr/bin/ld: src/sina.o: in function `tbb::spin_rw_mutex_v3::scoped_lock::acquire(tbb::spin_rw_mutex_v3&, bool)':
/usr/include/tbb/spin_rw_mutex.h:110: undefined reference to `tbb::spin_rw_mutex_v3::internal_acquire_writer()'
/usr/bin/ld: /usr/include/tbb/spin_rw_mutex.h:110: undefined reference to `tbb::spin_rw_mutex_v3::internal_acquire_writer()'
/usr/bin/ld: /usr/include/tbb/spin_rw_mutex.h:111: undefined reference to `tbb::spin_rw_mutex_v3::internal_acquire_reader()'
/usr/bin/ld: src/sina.o: in function `operator new(unsigned long, tbb::internal::allocate_additional_child_of_proxy const&)':
/usr/include/tbb/task.h:1179: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::allocate(unsigned long) const'
/usr/bin/ld: /usr/include/tbb/task.h:1179: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::allocate(unsigned long) const'
/usr/bin/ld: src/sina.o: in function `tbb::spin_rw_mutex_v3::scoped_lock::acquire(tbb::spin_rw_mutex_v3&, bool)':
/usr/include/tbb/spin_rw_mutex.h:111: undefined reference to `tbb::spin_rw_mutex_v3::internal_acquire_reader()'
/usr/bin/ld: src/sina.o: in function `operator new(unsigned long, tbb::internal::allocate_additional_child_of_proxy const&)':
/usr/include/tbb/task.h:1179: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::allocate(unsigned long) const'
/usr/bin/ld: /usr/include/tbb/task.h:1179: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::allocate(unsigned long) const'
/usr/bin/ld: src/sina.o: in function `tbb::spin_rw_mutex_v3::scoped_lock::acquire(tbb::spin_rw_mutex_v3&, bool)':
/usr/include/tbb/spin_rw_mutex.h:111: undefined reference to `tbb::spin_rw_mutex_v3::internal_acquire_reader()'
/usr/bin/ld: src/sina.o: in function `operator new(unsigned long, tbb::internal::allocate_additional_child_of_proxy const&)':
/usr/include/tbb/task.h:1179: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::allocate(unsigned long) const'
/usr/bin/ld: /usr/include/tbb/task.h:1179: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::allocate(unsigned long) const'
/usr/bin/ld: /usr/include/tbb/task.h:1179: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::allocate(unsigned long) const'
/usr/bin/ld: src/sina.o: in function `operator delete(void*, tbb::internal::allocate_additional_child_of_proxy const&)':
/usr/include/tbb/task.h:1183: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::free(tbb::task&) const'
/usr/bin/ld: /usr/include/tbb/task.h:1183: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::free(tbb::task&) const'
/usr/bin/ld: src/sina.o: in function `operator new(unsigned long, tbb::internal::allocate_additional_child_of_proxy const&)':
/usr/include/tbb/task.h:1179: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::allocate(unsigned long) const'
/usr/bin/ld: /usr/include/tbb/task.h:1179: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::allocate(unsigned long) const'
/usr/bin/ld: src/sina.o: in function `operator delete(void*, tbb::internal::allocate_additional_child_of_proxy const&)':
/usr/include/tbb/task.h:1183: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::free(tbb::task&) const'
/usr/bin/ld: src/sina.o: in function `tbb::spin_rw_mutex_v3::scoped_lock::acquire(tbb::spin_rw_mutex_v3&, bool)':
/usr/include/tbb/spin_rw_mutex.h:110: undefined reference to `tbb::spin_rw_mutex_v3::internal_acquire_writer()'
/usr/bin/ld: src/sina.o: in function `operator new(unsigned long, tbb::internal::allocate_additional_child_of_proxy const&)':
/usr/include/tbb/task.h:1179: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::allocate(unsigned long) const'
/usr/bin/ld: src/sina.o: in function `operator delete(void*, tbb::internal::allocate_additional_child_of_proxy const&)':
/usr/include/tbb/task.h:1183: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::free(tbb::task&) const'
/usr/bin/ld: src/sina.o: in function `operator new(unsigned long, tbb::internal::allocate_additional_child_of_proxy const&)':
/usr/include/tbb/task.h:1179: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::allocate(unsigned long) const'
/usr/bin/ld: /usr/include/tbb/task.h:1179: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::allocate(unsigned long) const'
/usr/bin/ld: src/sina.o: in function `operator delete(void*, tbb::internal::allocate_additional_child_of_proxy const&)':
/usr/include/tbb/task.h:1183: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::free(tbb::task&) const'
/usr/bin/ld: /usr/include/tbb/task.h:1183: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::free(tbb::task&) const'
/usr/bin/ld: src/sina.o: in function `operator new(unsigned long, tbb::internal::allocate_additional_child_of_proxy const&)':
/usr/include/tbb/task.h:1179: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::allocate(unsigned long) const'
/usr/bin/ld: /usr/include/tbb/task.h:1179: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::allocate(unsigned long) const'
/usr/bin/ld: src/sina.o: in function `operator delete(void*, tbb::internal::allocate_additional_child_of_proxy const&)':
/usr/include/tbb/task.h:1183: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::free(tbb::task&) const'
/usr/bin/ld: src/sina.o: in function `operator new(unsigned long, tbb::internal::allocate_additional_child_of_proxy const&)':
/usr/include/tbb/task.h:1179: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::allocate(unsigned long) const'
/usr/bin/ld: src/sina.o: in function `operator delete(void*, tbb::internal::allocate_additional_child_of_proxy const&)':
/usr/include/tbb/task.h:1183: undefined reference to `tbb::internal::allocate_additional_child_of_proxy::free(tbb::task&) const'
/usr/bin/ld: src/sina.o:(.data.rel.ro._ZTVN3tbb4flow11interface118internal19forward_task_bypassINS1_12limiter_nodeIN4sina4trayENS1_12continue_msgEEEEE[_ZTVN3tbb4flow11interface118internal19forward_task_bypassINS1_12limiter_nodeIN4sina4trayENS1_12continue_msgEEEEE]+0x28): undefined reference to `tbb::task::note_affinity(unsigned short)'
/usr/bin/ld: src/sina.o:(.data.rel.ro._ZTVN3tbb4flow11interface118internal19forward_task_bypassINS1_11buffer_nodeIN4sina4trayENS1_9null_typeEEEEE[_ZTVN3tbb4flow11interface118internal19forward_task_bypassINS1_11buffer_nodeIN4sina4trayENS1_9null_typeEEEEE]+0x28): undefined reference to `tbb::task::note_affinity(unsigned short)'
/usr/bin/ld: src/sina.o:(.data.rel.ro._ZTVN3tbb4flow11interface118internal22apply_body_task_bypassINS2_19function_input_baseIN4sina4trayENS2_22graph_policy_namespace8queueingENS_23cache_aligned_allocatorIS6_EENS2_14function_inputIS6_NS1_12continue_msgES8_SA_EEEES6_EE[_ZTVN3tbb4flow11interface118internal22apply_body_task_bypassINS2_19function_input_baseIN4sina4trayENS2_22graph_policy_namespace8queueingENS_23cache_aligned_allocatorIS6_EENS2_14function_inputIS6_NS1_12continue_msgES8_SA_EEEES6_EE]+0x28): undefined reference to `tbb::task::note_affinity(unsigned short)'
/usr/bin/ld: src/sina.o:(.data.rel.ro._ZTVN3tbb4flow11interface118internal22apply_body_task_bypassINS2_19function_input_baseIN4sina4trayENS2_22graph_policy_namespace8queueingENS_23cache_aligned_allocatorIS6_EENS2_14function_inputIS6_S6_S8_SA_EEEES6_EE[_ZTVN3tbb4flow11interface118internal22apply_body_task_bypassINS2_19function_input_baseIN4sina4trayENS2_22graph_policy_namespace8queueingENS_23cache_aligned_allocatorIS6_EENS2_14function_inputIS6_S6_S8_SA_EEEES6_EE]+0x28): undefined reference to `tbb::task::note_affinity(unsigned short)'
/usr/bin/ld: src/sina.o:(.data.rel.ro._ZTVN3tbb4flow11interface118internal19forward_task_bypassINS2_19function_input_baseIN4sina4trayENS2_22graph_policy_namespace8queueingENS_23cache_aligned_allocatorIS6_EENS2_14function_inputIS6_NS1_12continue_msgES8_SA_EEEEEE[_ZTVN3tbb4flow11interface118internal19forward_task_bypassINS2_19function_input_baseIN4sina4trayENS2_22graph_policy_namespace8queueingENS_23cache_aligned_allocatorIS6_EENS2_14function_inputIS6_NS1_12continue_msgES8_SA_EEEEEE]+0x28): undefined reference to `tbb::task::note_affinity(unsigned short)'
/usr/bin/ld: src/sina.o:(.data.rel.ro._ZTVN3tbb4flow11interface118internal19forward_task_bypassINS2_19function_input_baseIN4sina4trayENS2_22graph_policy_namespace8queueingENS_23cache_aligned_allocatorIS6_EENS2_14function_inputIS6_S6_S8_SA_EEEEEE[_ZTVN3tbb4flow11interface118internal19forward_task_bypassINS2_19function_input_baseIN4sina4trayENS2_22graph_policy_namespace8queueingENS_23cache_aligned_allocatorIS6_EENS2_14function_inputIS6_S6_S8_SA_EEEEEE]+0x28): more undefined references to `tbb::task::note_affinity(unsigned short)' follow
/usr/bin/ld: src/sina.o:(.data.rel.ro._ZTIN3tbb10empty_taskE[_ZTIN3tbb10empty_taskE]+0x10): undefined reference to `typeinfo for tbb::task'
/usr/bin/ld: src/sina.o:(.data.rel.ro._ZTIN3tbb4flow11interface1110graph_taskE[_ZTIN3tbb4flow11interface1110graph_taskE]+0x10): undefined reference to `typeinfo for tbb::task'
/usr/bin/ld: src/sina.o:(.data.rel.ro._ZTIN3tbb4flow11interface118internal22priority_task_selectorE[_ZTIN3tbb4flow11interface118internal22priority_task_selectorE]+0x10): undefined reference to `typeinfo for tbb::task'
/usr/bin/ld: src/sina.o:(.data.rel.ro._ZTVN3tbb10empty_taskE[_ZTVN3tbb10empty_taskE]+0x28): undefined reference to `tbb::task::note_affinity(unsigned short)'
/usr/bin/ld: src/sina.o:(.data.rel.ro._ZTVN3tbb4flow11interface118internal22priority_task_selectorE[_ZTVN3tbb4flow11interface118internal22priority_task_selectorE]+0x28): undefined reference to `tbb::task::note_affinity(unsigned short)'
/usr/bin/ld: src/sina.o:(.data.rel.ro._ZTVN3tbb4flow11interface118internal18source_task_bypassINS1_11source_nodeIN4sina4trayEEEEE[_ZTVN3tbb4flow11interface118internal18source_task_bypassINS1_11source_nodeIN4sina4trayEEEEE]+0x28): undefined reference to `tbb::task::note_affinity(unsigned short)'
/usr/bin/ld: src/.libs/libsina.so: undefined reference to `tbb::internal::get_initial_auto_partitioner_divisor()'
/usr/bin/ld: src/.libs/libsina.so: undefined reference to `aisc_create(aisc_com*, int, AISC_Object const&, int, int, AISC_Object&, ...)'
/usr/bin/ld: src/.libs/libsina.so: undefined reference to `BI_helix::init(GBDATA*, char const*)'
/usr/bin/ld: src/.libs/libsina.so: undefined reference to `tbb::internal::allocate_child_proxy::allocate(unsigned long) const'
/usr/bin/ld: src/.libs/libsina.so: undefined reference to `aisc_get(aisc_com*, int, AISC_Object const&, ...)'
/usr/bin/ld: src/.libs/libsina.so: undefined reference to `tbb::internal::allocate_via_handler_v3(unsigned long)'
/usr/bin/ld: src/.libs/libsina.so: undefined reference to `aisc_open(char const*, AISC_Object&, long, char const**)'
/usr/bin/ld: src/.libs/libsina.so: undefined reference to `tbb::internal::allocate_root_with_context_proxy::free(tbb::task&) const'
/usr/bin/ld: src/.libs/libsina.so: undefined reference to `aisc_close(aisc_com*, AISC_Object&)'
/usr/bin/ld: src/.libs/libsina.so: undefined reference to `aisc_put(aisc_com*, int, AISC_Object const&, ...)'
/usr/bin/ld: src/.libs/libsina.so: undefined reference to `BI_helix::~BI_helix()'
/usr/bin/ld: src/.libs/libsina.so: undefined reference to `BI_helix::BI_helix()'
/usr/bin/ld: src/.libs/libsina.so: undefined reference to `tbb::internal::deallocate_via_handler_v3(void*)'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:1167: src/sina] Error 1
make[2]: Leaving directory '/home/moeller/tmp/sina'
make[1]: *** [Makefile:986: all] Error 2
make[1]: Leaving directory '/home/moeller/tmp/sina'
dh_auto_build: error: make -j2 returned exit code 2
make: *** [debian/rules:12: binary] Error 2

So, my immediate fix would be to use the tbb (had only set the "no" in a hope to avoid that initial build error) and start investigating what is causing the non-tbb link errors. Suggestions welcome :)

I can find a machine for you to log in to and reproduce the error any time if that is of any help.

Many thanks and kind regards! Steffen

epruesse commented 3 years ago

A machine to reproduce would indeed help!

If you could copy https://github.com/epruesse.keys to .../.ssh/authorized_keys (+chmod 600) and give me user/ip, I'll try to look into this.

epruesse commented 3 years ago

./configure should really error out if there is no ARBDB - it won't work without.

I'm guessing that there is some -l missing that is needed on your system.

I can probably try this in a Debian docker, actually. Just need to find the time to track the problem.