Entering edit mode
3.8 years ago
harry
▴
40
I downloading the tophat2 from "http://ccb.jhu.edu/software/tophat/downloads/tophat-2.1.1.tar.gz" but when I used "make" command it comes to this error--please anyone can solve this issue. Thanks in advance. I search google but can't find anything.
tophat_reports.cpp:2708:128: error: no matching function for call to ‘make_pair<Junction, JunctionStats>(Junction, JunctionStats&)’
gtf_junctions.insert(make_pair<Junction, JunctionStats>(Junction(ref_id, left_coord, right_coord, antisense), junction_stat));
^
In file included from /usr/include/c++/7/bits/stl_algobase.h:64:0,
from /usr/include/c++/7/bits/char_traits.h:39,
from /usr/include/c++/7/string:40,
from /usr/include/boost/thread/exceptions.hpp:20,
from /usr/include/boost/thread/pthread/thread_data.hpp:10,
from /usr/include/boost/thread/thread_only.hpp:17,
from /usr/include/boost/thread/thread.hpp:12,
from /usr/include/boost/thread.hpp:13,
from tophat_reports.cpp:19:
/usr/include/c++/7/bits/stl_pair.h:524:5: note: candidate: template<class _T1, class _T2> constexpr std::pair<typename std::__decay_and_strip<_Tp>::__type, typename std::__decay_and_strip<_T2>::__type> std::make_pair(_T1&&, _T2&&)
make_pair(_T1&& __x, _T2&& __y)
^~~~~~~~~
/usr/include/c++/7/bits/stl_pair.h:524:5: note: template argument deduction/substitution failed:
tophat_reports.cpp:2708:128: note: cannot convert ‘junction_stat’ (type ‘JunctionStats’) to type ‘JunctionStats&&’
gtf_junctions.insert(make_pair<Junction, JunctionStats>(Junction(ref_id, left_coord, right_coord, antisense), junction_stat));
^
Makefile:1421: recipe for target 'tophat_reports.o' failed
make[2]: *** [tophat_reports.o] Error 1
make[2]: Leaving directory '/home/aclab/apps/tophat-2.1.1/src'
Makefile:313: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/aclab/apps/tophat-2.1.1'
Makefile:253: recipe for target 'all' failed
make: *** [all] Error 2
There are precompiled binaries available for this tool, and you could install it via package managers such as conda, there is really no need to compile it from source. See the
releases
tab at the website you link. Not discussing here that tophat2 is old and deprecated and you should probably use newer alternatives such as hisat2 or STAR.I agree with ATpoint, I would look into conda. It will save you endless hours of trying to debug.