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

Cannot compile with newer versions of C++ standard #76

Open
cljacobs opened this issue Dec 20, 2017 · 1 comment
Open

Cannot compile with newer versions of C++ standard #76

cljacobs opened this issue Dec 20, 2017 · 1 comment

Comments

@cljacobs
Copy link

I had trouble compiling the latest release version of this software (v1.2.2_p1) using the default C++ standard for my compiler (GNU gcc 7.1.0). There were a number of errors, although the majority were just repeated instances of these:

error: cannot bind non-const lvalue reference of type 'HitSink::batch&' to an rvalue of type 'std::remove_reference<HitSink::batch&>::type {aka HitSink::batch}'
...
error: no matching function for call to 'swap(HitSink::batch&, HitSink::batch&)'
...
error: no type named 'type' in 'struct std::enable_if<false, void>'

For anyone else experiencing this issue, it can be worked around by specifying -std=c++03 in the Makefile as an argument to EXTRA_CXXFLAGS =. I also double-checked that the C++98 standard also works. Any more recent versions of the C++ standard (-std=c++11, -std=c++14, and -std=c++17) will result in the errors above.

Attached is a log from the build command (make NO_TBB=1) if it helps: make.log

@BenLangmead
Copy link
Owner

BenLangmead commented Dec 20, 2017

Yes, I noticed this recently as well. Up to now we've tried not to force a choice of C++11 versus pre-C++11, but this recent change broke that. @ch4rr0 and I will discuss. Thank you for the report.

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

2 participants