Seqanswers Leaderboard Ad

Collapse

Announcement

Collapse
No announcement yet.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Bowtie2 and TBB compilation

    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]; }

  • #2
    Is there a reason you are compiling this on your own? Have you tried the compiled binary provided for OS X?

    Comment


    • #3
      Yes. I try to compile with TBB becasuse the MacOSX binary only launch one thread and the source version compiled without TBB also only launch one thread. So, my last option was compilation with TBB.
      Thank you for your answer.

      Comment


      • #4
        I had problems compiling bowtie2 with TBB support too. My OS was Centos 6.6. Bowtie2 source and TBB versions were the same as yours.
        My 'fix' was to compile with LDFLAGS=-L/pathto/lib(or LD_RUN_PATH=/pathto/lib) but not CPPFLAGS=-I/pathto/include(or INC=/pathto/include). Sounds weird but it did work for me...
        Hope this helps.

        Comment

        Latest Articles

        Collapse

        • seqadmin
          Current Approaches to Protein Sequencing
          by seqadmin


          Proteins are often described as the workhorses of the cell, and identifying their sequences is key to understanding their role in biological processes and disease. Currently, the most common technique used to determine protein sequences is mass spectrometry. While still a valuable tool, mass spectrometry faces several limitations and requires a highly experienced scientist familiar with the equipment to operate it. Additionally, other proteomic methods, like affinity assays, are constrained...
          04-04-2024, 04:25 PM
        • seqadmin
          Strategies for Sequencing Challenging Samples
          by seqadmin


          Despite advancements in sequencing platforms and related sample preparation technologies, certain sample types continue to present significant challenges that can compromise sequencing results. Pedro Echave, Senior Manager of the Global Business Segment at Revvity, explained that the success of a sequencing experiment ultimately depends on the amount and integrity of the nucleic acid template (RNA or DNA) obtained from a sample. “The better the quality of the nucleic acid isolated...
          03-22-2024, 06:39 AM

        ad_right_rmr

        Collapse

        News

        Collapse

        Topics Statistics Last Post
        Started by seqadmin, 04-11-2024, 12:08 PM
        0 responses
        18 views
        0 likes
        Last Post seqadmin  
        Started by seqadmin, 04-10-2024, 10:19 PM
        0 responses
        22 views
        0 likes
        Last Post seqadmin  
        Started by seqadmin, 04-10-2024, 09:21 AM
        0 responses
        17 views
        0 likes
        Last Post seqadmin  
        Started by seqadmin, 04-04-2024, 09:00 AM
        0 responses
        49 views
        0 likes
        Last Post seqadmin  
        Working...
        X