Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installation failed on Ubuntu 16.10 #7

Open
JHereward opened this issue Apr 27, 2017 · 5 comments
Open

Installation failed on Ubuntu 16.10 #7

JHereward opened this issue Apr 27, 2017 · 5 comments

Comments

@JHereward
Copy link

I tried to install using git clone --recursive, followed by make, but get the following errors:

/home/wfl/programs/bamaddrg/bamtools/src/toolkit/bamtools_resolve.cpp: In member function ‘bool BamTools::ResolveTool::ReadNamesFileReader::Read(std::map<std::__cxx11::basic_string, ReadGroupResolver>&)’:
/home/wfl/programs/bamaddrg/bamtools/src/toolkit/bamtools_resolve.cpp:401:74: error: no matching function for call to ‘make_pair(__gnu_cxx::__alloc_traits<std::allocator<std::__cxx11::basic_string > >::value_type&, bool)’
resolver.ReadNames.insert( make_pair<string,bool>(fields[1], true) ) ;
^
In file included from /usr/include/c++/6/bits/stl_algobase.h:64:0,
from /usr/include/c++/6/bits/char_traits.h:39,
from /usr/include/c++/6/string:40,
from /home/wfl/programs/bamaddrg/bamtools/src/toolkit/bamtools_tool.h:14,
from /home/wfl/programs/bamaddrg/bamtools/src/toolkit/bamtools_resolve.h:13,
from /home/wfl/programs/bamaddrg/bamtools/src/toolkit/bamtools_resolve.cpp:10:
/usr/include/c++/6/bits/stl_pair.h:493: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++/6/bits/stl_pair.h:493:5: note: template argument deduction/substitution failed:
/home/wfl/programs/bamaddrg/bamtools/src/toolkit/bamtools_resolve.cpp:401:74: note: cannot convert ‘fields.std::vector<_Tp, _Alloc>::operator[]<std::__cxx11::basic_string, std::allocator<std::__cxx11::basic_string > >(1ul)’ (type ‘__gnu_cxx::__alloc_traits<std::allocator<std::__cxx11::basic_string > >::value_type {aka std::__cxx11::basic_string}’) to type ‘std::__cxx11::basic_string&&’
resolver.ReadNames.insert( make_pair<string,bool>(fields[1], true) ) ;
^
/home/wfl/programs/bamaddrg/bamtools/src/toolkit/bamtools_resolve.cpp: In member function ‘bool BamTools::ResolveTool::StatsFileReader::ParseReadGroupLine(const string&, std::map<std::__cxx11::basic_string, ReadGroupResolver>&)’:
/home/wfl/programs/bamaddrg/bamtools/src/toolkit/bamtools_resolve.cpp:598:75: error: no matching function for call to ‘make_pair(const string&, ReadGroupResolver&)’
readGroups.insert( make_pair<string, ReadGroupResolver>(name, resolver) );
^
In file included from /usr/include/c++/6/bits/stl_algobase.h:64:0,
from /usr/include/c++/6/bits/char_traits.h:39,
from /usr/include/c++/6/string:40,
from /home/wfl/programs/bamaddrg/bamtools/src/toolkit/bamtools_tool.h:14,
from /home/wfl/programs/bamaddrg/bamtools/src/toolkit/bamtools_resolve.h:13,
from /home/wfl/programs/bamaddrg/bamtools/src/toolkit/bamtools_resolve.cpp:10:
/usr/include/c++/6/bits/stl_pair.h:493: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++/6/bits/stl_pair.h:493:5: note: template argument deduction/substitution failed:
/home/wfl/programs/bamaddrg/bamtools/src/toolkit/bamtools_resolve.cpp:598:61: note: cannot convert ‘name’ (type ‘const string {aka const std::__cxx11::basic_string}’) to type ‘std::__cxx11::basic_string&&’
readGroups.insert( make_pair<string, ReadGroupResolver>(name, resolver) );
^~~~
/home/wfl/programs/bamaddrg/bamtools/src/toolkit/bamtools_resolve.cpp: In member function ‘bool BamTools::ResolveTool::ResolveToolPrivate::MakeStats()’:
/home/wfl/programs/bamaddrg/bamtools/src/toolkit/bamtools_resolve.cpp:1001:93: error: no matching function for call to ‘make_pair(std::__cxx11::string&, const bool&)’
else resolver.ReadNames.insert( make_pair<string, bool>(al.Name, isCurrentMateUnique) );
^
In file included from /usr/include/c++/6/bits/stl_algobase.h:64:0,
from /usr/include/c++/6/bits/char_traits.h:39,
from /usr/include/c++/6/string:40,
from /home/wfl/programs/bamaddrg/bamtools/src/toolkit/bamtools_tool.h:14,
from /home/wfl/programs/bamaddrg/bamtools/src/toolkit/bamtools_resolve.h:13,
from /home/wfl/programs/bamaddrg/bamtools/src/toolkit/bamtools_resolve.cpp:10:
/usr/include/c++/6/bits/stl_pair.h:493: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++/6/bits/stl_pair.h:493:5: note: template argument deduction/substitution failed:
/home/wfl/programs/bamaddrg/bamtools/src/toolkit/bamtools_resolve.cpp:1001:68: note: cannot convert ‘al.BamTools::BamAlignment::Name’ (type ‘std::__cxx11::string {aka std::__cxx11::basic_string}’) to type ‘std::__cxx11::basic_string&&’
else resolver.ReadNames.insert( make_pair<string, bool>(al.Name, isCurrentMateUnique) );
~~~^~~~
/home/wfl/programs/bamaddrg/bamtools/src/toolkit/bamtools_resolve.cpp: In member function ‘void BamTools::ResolveTool::ResolveToolPrivate::ParseHeader(const BamTools::SamHeader&)’:
/home/wfl/programs/bamaddrg/bamtools/src/toolkit/bamtools_resolve.cpp:1033:93: error: no matching function for call to ‘make_pair(const string&, ReadGroupResolver)’
m_readGroups.insert( make_pair<string, ReadGroupResolver>(rg.ID, ReadGroupResolver()) );
^
In file included from /usr/include/c++/6/bits/stl_algobase.h:64:0,
from /usr/include/c++/6/bits/char_traits.h:39,
from /usr/include/c++/6/string:40,
from /home/wfl/programs/bamaddrg/bamtools/src/toolkit/bamtools_tool.h:14,
from /home/wfl/programs/bamaddrg/bamtools/src/toolkit/bamtools_resolve.h:13,
from /home/wfl/programs/bamaddrg/bamtools/src/toolkit/bamtools_resolve.cpp:10:
/usr/include/c++/6/bits/stl_pair.h:493: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++/6/bits/stl_pair.h:493:5: note: template argument deduction/substitution failed:
/home/wfl/programs/bamaddrg/bamtools/src/toolkit/bamtools_resolve.cpp:1033:70: note: cannot convert ‘rg.BamTools::SamReadGroup::ID’ (type ‘const string {aka const std::__cxx11::basic_string}’) to type ‘std::__cxx11::basic_string&&’
m_readGroups.insert( make_pair<string, ReadGroupResolver>(rg.ID, ReadGroupResolver()) );
~~~^~
src/toolkit/CMakeFiles/bamtools_cmd.dir/build.make:254: recipe for target 'src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_resolve.cpp.o' failed
make[3]: *** [src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_resolve.cpp.o] Error 1
make[3]: Leaving directory '/home/wfl/programs/bamaddrg/bamtools/build'
CMakeFiles/Makefile2:520: recipe for target 'src/toolkit/CMakeFiles/bamtools_cmd.dir/all' failed
make[2]: *** [src/toolkit/CMakeFiles/bamtools_cmd.dir/all] Error 2
make[2]: Leaving directory '/home/wfl/programs/bamaddrg/bamtools/build'
Makefile:127: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/wfl/programs/bamaddrg/bamtools/build'
Makefile:10: recipe for target 'libbamtools.a' failed
make: *** [libbamtools.a] Error 2

@yifangt
Copy link

yifangt commented May 24, 2018

I have similar problem.

[ 94%] Building CXX object src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_resolve.cpp.o
/home/yifang/study/C++/bamaddrg/bamtools/src/toolkit/bamtools_resolve.cpp: In member function ‘bool BamTools::ResolveTool::ReadNamesFileReader::Read(std::map<std::__cxx11::basic_string<char>, ReadGroupResolver>&)’:
/home/yifang/study/C++/bamaddrg/bamtools/src/toolkit/bamtools_resolve.cpp:401:74: error: no matching function for call to ‘make_pair<std::__cxx11::string, bool>(__gnu_cxx::__alloc_traits<std::allocator<std::__cxx11::basic_string<char> > >::value_type&, bool)’
         resolver.ReadNames.insert( make_pair<string,bool>(fields[1], true) ) ;
                                                                          ^
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 /home/yifang/study/C++/bamaddrg/bamtools/src/toolkit/bamtools_tool.h:14,
                 from /home/yifang/study/C++/bamaddrg/bamtools/src/toolkit/bamtools_resolve.h:13,
                 from /home/yifang/study/C++/bamaddrg/bamtools/src/toolkit/bamtools_resolve.cpp:10:
/usr/include/c++/7/bits/stl_pair.h:519: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:519:5: note:   template argument deduction/substitution failed:
/home/yifang/study/C++/bamaddrg/bamtools/src/toolkit/bamtools_resolve.cpp:401:74: note:   cannot convert ‘fields.std::vector<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char> > >::operator[](1)’ (type ‘__gnu_cxx::__alloc_traits<std::allocator<std::__cxx11::basic_string<char> > >::value_type {aka std::__cxx11::basic_string<char>}’) to type ‘std::__cxx11::basic_string<char>&&’
         resolver.ReadNames.insert( make_pair<string,bool>(fields[1], true) ) ;
                                                                          ^
/home/yifang/study/C++/bamaddrg/bamtools/src/toolkit/bamtools_resolve.cpp: In member function ‘bool BamTools::ResolveTool::StatsFileReader::ParseReadGroupLine(const string&, std::map<std::__cxx11::basic_string<char>, ReadGroupResolver>&)’:
/home/yifang/study/C++/bamaddrg/bamtools/src/toolkit/bamtools_resolve.cpp:598:75: error: no matching function for call to ‘make_pair<std::__cxx11::string, ReadGroupResolver>(const string&, ReadGroupResolver&)’
     readGroups.insert( make_pair<string, ReadGroupResolver>(name, resolver) );
                                                                           ^
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 /home/yifang/study/C++/bamaddrg/bamtools/src/toolkit/bamtools_tool.h:14,
                 from /home/yifang/study/C++/bamaddrg/bamtools/src/toolkit/bamtools_resolve.h:13,
                 from /home/yifang/study/C++/bamaddrg/bamtools/src/toolkit/bamtools_resolve.cpp:10:
/usr/include/c++/7/bits/stl_pair.h:519: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:519:5: note:   template argument deduction/substitution failed:
/home/yifang/study/C++/bamaddrg/bamtools/src/toolkit/bamtools_resolve.cpp:598:61: note:   cannot convert ‘name’ (type ‘const string {aka const std::__cxx11::basic_string<char>}’) to type ‘std::__cxx11::basic_string<char>&&’
     readGroups.insert( make_pair<string, ReadGroupResolver>(name, resolver) );
                                                             ^~~~
/home/yifang/study/C++/bamaddrg/bamtools/src/toolkit/bamtools_resolve.cpp: In member function ‘bool BamTools::ResolveTool::ResolveToolPrivate::MakeStats()’:
/home/yifang/study/C++/bamaddrg/bamtools/src/toolkit/bamtools_resolve.cpp:1001:93: error: no matching function for call to ‘make_pair<std::__cxx11::string, bool>(std::__cxx11::string&, const bool&)’
         else resolver.ReadNames.insert( make_pair<string, bool>(al.Name, isCurrentMateUnique) );
                                                                                             ^
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 /home/yifang/study/C++/bamaddrg/bamtools/src/toolkit/bamtools_tool.h:14,
                 from /home/yifang/study/C++/bamaddrg/bamtools/src/toolkit/bamtools_resolve.h:13,
                 from /home/yifang/study/C++/bamaddrg/bamtools/src/toolkit/bamtools_resolve.cpp:10:
/usr/include/c++/7/bits/stl_pair.h:519: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:519:5: note:   template argument deduction/substitution failed:
/home/yifang/study/C++/bamaddrg/bamtools/src/toolkit/bamtools_resolve.cpp:1001:68: note:   cannot convert ‘al.BamTools::BamAlignment::Name’ (type ‘std::__cxx11::string {aka std::__cxx11::basic_string<char>}’) to type ‘std::__cxx11::basic_string<char>&&’
         else resolver.ReadNames.insert( make_pair<string, bool>(al.Name, isCurrentMateUnique) );
                                                                 ~~~^~~~
/home/yifang/study/C++/bamaddrg/bamtools/src/toolkit/bamtools_resolve.cpp: In member function ‘void BamTools::ResolveTool::ResolveToolPrivate::ParseHeader(const BamTools::SamHeader&)’:
/home/yifang/study/C++/bamaddrg/bamtools/src/toolkit/bamtools_resolve.cpp:1033:93: error: no matching function for call to ‘make_pair<std::__cxx11::string, ReadGroupResolver>(const string&, ReadGroupResolver)’
         m_readGroups.insert( make_pair<string, ReadGroupResolver>(rg.ID, ReadGroupResolver()) );
                                                                                             ^
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 /home/yifang/study/C++/bamaddrg/bamtools/src/toolkit/bamtools_tool.h:14,
                 from /home/yifang/study/C++/bamaddrg/bamtools/src/toolkit/bamtools_resolve.h:13,
                 from /home/yifang/study/C++/bamaddrg/bamtools/src/toolkit/bamtools_resolve.cpp:10:
/usr/include/c++/7/bits/stl_pair.h:519: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:519:5: note:   template argument deduction/substitution failed:
/home/yifang/study/C++/bamaddrg/bamtools/src/toolkit/bamtools_resolve.cpp:1033:70: note:   cannot convert ‘rg.BamTools::SamReadGroup::ID’ (type ‘const string {aka const std::__cxx11::basic_string<char>}’) to type ‘std::__cxx11::basic_string<char>&&’
         m_readGroups.insert( make_pair<string, ReadGroupResolver>(rg.ID, ReadGroupResolver()) );
                                                                   ~~~^~
src/toolkit/CMakeFiles/bamtools_cmd.dir/build.make:254: recipe for target 'src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_resolve.cpp.o' failed
make[3]: *** [src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_resolve.cpp.o] Error 1
make[3]: Leaving directory '/home/yifang/study/C++/bamaddrg/bamtools/build'
CMakeFiles/Makefile2:520: recipe for target 'src/toolkit/CMakeFiles/bamtools_cmd.dir/all' failed
make[2]: *** [src/toolkit/CMakeFiles/bamtools_cmd.dir/all] Error 2
make[2]: Leaving directory '/home/yifang/study/C++/bamaddrg/bamtools/build'
Makefile:129: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/yifang/study/C++/bamaddrg/bamtools/build'
Makefile:10: recipe for target 'libbamtools.a' failed
make: *** [libbamtools.a] Error 2

Could you give me any clue please?

@zkidiavai
Copy link

zkidiavai commented Mar 26, 2019

Did you manage to fix this problem? am faced with a similar issue....am using ubuntu bionic beaver (18.04
)though

@janxkoci
Copy link

janxkoci commented Oct 11, 2019

You can try installing bamtools first using conda and Bioconda channel:

conda install -c conda-forge -c bioconda bamtools

If you setup conda properly, bamtools should now be in your PATH (on linux this is default setup). You can now try compiling bamaddrg.

Hope it helps.

@sanjaynagi
Copy link

sanjaynagi commented Jun 5, 2020

I dont know if people resolved this - but if you install the latest bamtools via conda, you can then compile bamaddrg successfully by removing or commenting out the following rule in the Makefile, so it doesnt try and compile bamtools again.

libbamtools.a:
       cd $(BAMTOOLS_ROOT) && mkdir -p build && cd build && cmake .. && make
       cp bamtools/lib/libbamtools.a ./

You then also need to copy the libbamtools.a from the bamaddrg/bamtools/lib/ directory into the bamaddrg directory.

After this, you can run make in the bamaddrg directory.

edit: i struggled to get this to work a second time so i would recommend doing what is suggested by @pmagwene below

@pmagwene
Copy link

pmagwene commented Nov 11, 2020

If you're on an Ubuntu/Debian derivative and have installed bamtools and libbamtools-dev you can build bamaddrg directly without the Makefile as follows:

g++ -O3 bamaddrg.cpp -o bamaddrg -lbamtools -lz -I/usr/include/bamtools

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants