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
compilation failure on Debian / g++ 6 #5
Comments
On gcc 6 seems to be:
|
Dear Oliver,
thanks s lot for all your messages. I will have a closer look at them in the next days.
With g++ 6 they removed one version of the make_pair functions, which is quite odd.
This will break a lot of existing code.
Best
Christoph
Am 13.01.2017 um 09:10 schrieb Olivier Sallou <notifications@github.com>:
Hi,
software fails to compile on Debian with g++ 6 while it works on Ubuntu with g++ 5
***@***.***:/opt/debian/BaitFisher-package# make
g++ -I . -O3 -c bait-filter.cpp -o bait-filter.o
In file included from CBaitRecord.h:34:0,
from bait-filter.cpp:30:
CBlastParser.h: In member function 'void CBlast_parser::add(CBlastHit*)':
CBlastParser.h:542:98: error: no matching function for call to 'make_pair(const faststring&, CBlastHit*&)'
bh_map.insert(bh_map.end(), std::make_pair<faststring, CBlastHit*>(p->get_query_seq_name(), p));
^
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/ios:40,
from /usr/include/c++/6/ostream:38,
from /usr/include/c++/6/iostream:39,
from bait-filter.cpp:27:
/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:
In file included from CBaitRecord.h:34:0,
from bait-filter.cpp:30:
CBlastParser.h:542:93: note: cannot convert 'p->CBlastHit::get_query_seq_name()' (type 'const faststring') to type 'faststring&&'
bh_map.insert(bh_map.end(), std::make_pair<faststring, CBlastHit*>(p->get_query_seq_name(), p));
^
makefile:8: recipe for target 'bai
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.
****************************************
Dr. Christoph Mayer
Email: c.mayer.zfmk@uni-bonn.de
Tel.: +49 (0)228 9122 403
Zoologisches Forschungsmuseum Alexander Koenig
- Leibniz Institut für Biodiversität der Tiere -
Adenauerallee 160
53113 Bonn, Germany
www.zfmk.de
Stiftung des öffentlichen Rechts; Direktor: Prof. J. W. Wägele
Sitz: Bonn
****************************************
|
Removing template info for make_pair makes g++ compiler happy and program
compiles nicely (at least on debian)
Le sam. 14 janv. 2017 23:18, cmayer <notifications@github.com> a écrit :
… Dear Oliver,
thanks s lot for all your messages. I will have a closer look at them in
the next days.
With g++ 6 they removed one version of the make_pair functions, which is
quite odd.
This will break a lot of existing code.
Best
Christoph
Am 13.01.2017 um 09:10 schrieb Olivier Sallou ***@***.***>:
> Hi,
> software fails to compile on Debian with g++ 6 while it works on Ubuntu
with g++ 5
>
> ***@***.***:/opt/debian/BaitFisher-package# make
> g++ -I . -O3 -c bait-filter.cpp -o bait-filter.o
> In file included from CBaitRecord.h:34:0,
> from bait-filter.cpp:30:
> CBlastParser.h: In member function 'void CBlast_parser::add(CBlastHit*)':
> CBlastParser.h:542:98: error: no matching function for call to
'make_pair(const faststring&, CBlastHit*&)'
> bh_map.insert(bh_map.end(), std::make_pair<faststring,
CBlastHit*>(p->get_query_seq_name(), p));
> ^
> 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/ios:40,
> from /usr/include/c++/6/ostream:38,
> from /usr/include/c++/6/iostream:39,
> from bait-filter.cpp:27:
> /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:
> In file included from CBaitRecord.h:34:0,
> from bait-filter.cpp:30:
> CBlastParser.h:542:93: note: cannot convert
'p->CBlastHit::get_query_seq_name()' (type 'const faststring') to type
'faststring&&'
> bh_map.insert(bh_map.end(), std::make_pair<faststring,
CBlastHit*>(p->get_query_seq_name(), p));
> ^
> makefile:8: recipe for target 'bai
>
> —
> You are receiving this because you are subscribed to this thread.
> Reply to this email directly, view it on GitHub, or mute the thread.
>
****************************************
Dr. Christoph Mayer
Email: ***@***.***
Tel.: +49 (0)228 9122 403
Zoologisches Forschungsmuseum Alexander Koenig
- Leibniz Institut für Biodiversität der Tiere -
Adenauerallee 160
53113 Bonn, Germany
www.zfmk.de
Stiftung des öffentlichen Rechts; Direktor: Prof. J. W. Wägele
Sitz: Bonn
****************************************
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#5 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AA-gYsEf7TEYdQ2dDKiF-dtWpvyvgFdCks5rSTu6gaJpZM4Lin1N>
.
|
Solved. Sorry that it took so long to fix this. I worked on a new release and always thought the new release is ready in a few days. I have a new version of the BaitFilter program now. As soon as the manual is updated, I put together a new release. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hi,
software fails to compile on Debian with g++ 6 while it works on Ubuntu with g++ 5
root@d9078aa6f9cd:/opt/debian/BaitFisher-package# make
g++ -I . -O3 -c bait-filter.cpp -o bait-filter.o
In file included from CBaitRecord.h:34:0,
from bait-filter.cpp:30:
CBlastParser.h: In member function 'void CBlast_parser::add(CBlastHit*)':
CBlastParser.h:542:98: error: no matching function for call to 'make_pair(const faststring&, CBlastHit*&)'
bh_map.insert(bh_map.end(), std::make_pair<faststring, CBlastHit*>(p->get_query_seq_name(), p));
^
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/ios:40,
from /usr/include/c++/6/ostream:38,
from /usr/include/c++/6/iostream:39,
from bait-filter.cpp:27:
/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:
In file included from CBaitRecord.h:34:0,
from bait-filter.cpp:30:
CBlastParser.h:542:93: note: cannot convert 'p->CBlastHit::get_query_seq_name()' (type 'const faststring') to type 'faststring&&'
bh_map.insert(bh_map.end(), std::make_pair<faststring, CBlastHit*>(p->get_query_seq_name(), p));
~~~~~~~~~~~~~~~~~~~~~^~
makefile:8: recipe for target 'bai
The text was updated successfully, but these errors were encountered: