Hi all,
Because Bowtie2 with "-p xx" option don't make multithreading, I tried to build from source with TBB (make WITH_TBB=1), but "make" reports 6 errors.
Versions are:
MacOSX version: 10.10.5 (Yosemite)
Bowtie2 src version: 2.2.8
TBB version: 4.4-20160128
Someone has experienced the same problem and has a solution?
The trace begin with:
$ make WITH_TBB=1
c++ -O3 -m64 -msse2 -funroll-loops -g3 -DCOMPILER_OPTIONS=""-O3 -m64 -msse2 -funroll-loops -g3 -DPOPCNT_CAPABILITY -DWITH_TBB"" -DPOPCNT_CAPABILITY -DWITH_TBB \
-fno-strict-aliasing -DBOWTIE2_VERSION=""`cat VERSION`"" -DBUILD_HOST=""`hostname`"" -DBUILD_TIME=""`date`"" -DCOMPILER_VERSION=""`c++ -v 2>&1 | tail -1`"" -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DBOWTIE_MM -DBOWTIE2 -DNDEBUG -Wall \
-I third_party \
-o bowtie2-build-s bt2_build.cpp \
ccnt_lut.cpp ref_read.cpp alphabet.cpp shmem.cpp edit.cpp bt2_idx.cpp bt2_io.cpp bt2_util.cpp reference.cpp ds.cpp multikey_qsort.cpp limit.cpp random_source.cpp diff_sample.cpp bowtie_build_main.cpp \
-lpthread -ltbb -ltbbmalloc_proxy
In file included from bt2_build.cpp:27:
In file included from ./bt2_idx.h:42:
In file included from ./blockwise_sa.h:24:
In file included from /usr/local/include/tbb/tbb.h:53:
In file included from /usr/local/include/tbb/flow_graph.h:30:
/usr/local/include/tbb/task.h:913:13: error: no matching function for call to object of type 'const VSorting_worker<SString<char> >'
my_func();
^~~~~~~
/usr/local/include/tbb/task.h:917:9: note: in instantiation of member function 'tbb::internal::function_task<VSorting_worker<SString<char> > >::execute'
requested here
function_task( const F& f ) : my_func(f) {}
^
/usr/local/include/tbb/task_group.h:100:79: note: in instantiation of member function 'tbb::internal::function_task<VSorting_worker<SString<char> >
>::function_task' requested here
owner().spawn( *new( owner().allocate_additional_child_of(*my_root) ) Task(f) );
^
/usr/local/include/tbb/task_group.h:179:9: note: in instantiation of function template specialization 'tbb::internal::task_group_base::internal_run<const
VSorting_worker<SString<char> >, tbb::internal::function_task<VSorting_worker<SString<char> > > >' requested here
internal_run< const F, internal::function_task<F> >( f );
^
./diff_sample.h:832:12: note: in instantiation of function template specialization 'tbb::task_group::run<VSorting_worker<SString<char> > >' requested here
tbb_grp.run(VSorting_worker<TStr>(((void*)&tparams[tid])));
^
./blockwise_sa.h:422:24: note: in instantiation of member function 'DifferenceCoverSample<SString<char> >::build' requested here
_dc.get()->build(this->_nthreads);
^
./blockwise_sa.h:401:4: note: (skipping 1 context in backtrace; use -ftemplate-backtrace-limit=0 to see all)
build();
^
./blockwise_sa.h:216:32: note: in instantiation of member function 'KarkkainenBlockwiseSA<SString<char> >::reset' requested here
{ _randomSrc.init(__seed); reset(); _done = new bool[_nthreads]; }
Because Bowtie2 with "-p xx" option don't make multithreading, I tried to build from source with TBB (make WITH_TBB=1), but "make" reports 6 errors.
Versions are:
MacOSX version: 10.10.5 (Yosemite)
Bowtie2 src version: 2.2.8
TBB version: 4.4-20160128
Someone has experienced the same problem and has a solution?
The trace begin with:
$ make WITH_TBB=1
c++ -O3 -m64 -msse2 -funroll-loops -g3 -DCOMPILER_OPTIONS=""-O3 -m64 -msse2 -funroll-loops -g3 -DPOPCNT_CAPABILITY -DWITH_TBB"" -DPOPCNT_CAPABILITY -DWITH_TBB \
-fno-strict-aliasing -DBOWTIE2_VERSION=""`cat VERSION`"" -DBUILD_HOST=""`hostname`"" -DBUILD_TIME=""`date`"" -DCOMPILER_VERSION=""`c++ -v 2>&1 | tail -1`"" -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DBOWTIE_MM -DBOWTIE2 -DNDEBUG -Wall \
-I third_party \
-o bowtie2-build-s bt2_build.cpp \
ccnt_lut.cpp ref_read.cpp alphabet.cpp shmem.cpp edit.cpp bt2_idx.cpp bt2_io.cpp bt2_util.cpp reference.cpp ds.cpp multikey_qsort.cpp limit.cpp random_source.cpp diff_sample.cpp bowtie_build_main.cpp \
-lpthread -ltbb -ltbbmalloc_proxy
In file included from bt2_build.cpp:27:
In file included from ./bt2_idx.h:42:
In file included from ./blockwise_sa.h:24:
In file included from /usr/local/include/tbb/tbb.h:53:
In file included from /usr/local/include/tbb/flow_graph.h:30:
/usr/local/include/tbb/task.h:913:13: error: no matching function for call to object of type 'const VSorting_worker<SString<char> >'
my_func();
^~~~~~~
/usr/local/include/tbb/task.h:917:9: note: in instantiation of member function 'tbb::internal::function_task<VSorting_worker<SString<char> > >::execute'
requested here
function_task( const F& f ) : my_func(f) {}
^
/usr/local/include/tbb/task_group.h:100:79: note: in instantiation of member function 'tbb::internal::function_task<VSorting_worker<SString<char> >
>::function_task' requested here
owner().spawn( *new( owner().allocate_additional_child_of(*my_root) ) Task(f) );
^
/usr/local/include/tbb/task_group.h:179:9: note: in instantiation of function template specialization 'tbb::internal::task_group_base::internal_run<const
VSorting_worker<SString<char> >, tbb::internal::function_task<VSorting_worker<SString<char> > > >' requested here
internal_run< const F, internal::function_task<F> >( f );
^
./diff_sample.h:832:12: note: in instantiation of function template specialization 'tbb::task_group::run<VSorting_worker<SString<char> > >' requested here
tbb_grp.run(VSorting_worker<TStr>(((void*)&tparams[tid])));
^
./blockwise_sa.h:422:24: note: in instantiation of member function 'DifferenceCoverSample<SString<char> >::build' requested here
_dc.get()->build(this->_nthreads);
^
./blockwise_sa.h:401:4: note: (skipping 1 context in backtrace; use -ftemplate-backtrace-limit=0 to see all)
build();
^
./blockwise_sa.h:216:32: note: in instantiation of member function 'KarkkainenBlockwiseSA<SString<char> >::reset' requested here
{ _randomSrc.init(__seed); reset(); _done = new bool[_nthreads]; }
Comment