https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105040
Bug ID: 105040 Summary: snfit-2.4.0 fails to build because of /usr/include/c++/7/ostream:682:5: error: no type named 'type' in 'struct std::enable_if<false, std::basic_ostream<char>&>' Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: gautam_bhuyan282 at hotmail dot com Target Milestone: --- When I am trying to build a supernova light curve fitter known as salt2.4 which comes as the source code snfit-2.4.0, it fails every time after I run "make". The error due to which the build fails is reported as: salt2extinction.cc: In member function 'void Salt2ExtinctionLaw::Read(std::istream&)': salt2extinction.cc:132:10: error: no match for 'operator<<' (operand types are 'std::ostream {aka std::basic_ostream<char>}' and 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}') cerr << message << endl; ~~~~~^~~~~~~~~~ salt2extinction.cc:132:10: note: candidate: operator<<(int, int) <built-in> salt2extinction.cc:132:10: note: no known conversion for argument 2 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'int' In file included from /usr/include/c++/7/iostream:39:0, from salt2extinction.cc:1: /usr/include/c++/7/ostream:108:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ostream_type& (*)(std::basic_ostream<_CharT, _Traits>::__ostream_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] operator<<(__ostream_type& (*__pf)(__ostream_type&)) ^~~~~~~~ /usr/include/c++/7/ostream:108:7: note: no known conversion for argument 1 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'std::basic_ostream<char>::__ostream_type& (*)(std::basic_ostream<char>::__ostream_type&) {aka std::basic_ostream<char>& (*)(std::basic_ostream<char>&)}' /usr/include/c++/7/ostream:117:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ios_type& (*)(std::basic_ostream<_CharT, _Traits>::__ios_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>; std::basic_ostream<_CharT, _Traits>::__ios_type = std::basic_ios<char>] operator<<(__ios_type& (*__pf)(__ios_type&)) ^~~~~~~~ /usr/include/c++/7/ostream:117:7: note: no known conversion for argument 1 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'std::basic_ostream<char>::__ios_type& (*)(std::basic_ostream<char>::__ios_type&) {aka std::basic_ios<char>& (*)(std::basic_ios<char>&)}' /usr/include/c++/7/ostream:127:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::ios_base& (*)(std::ios_base&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] operator<<(ios_base& (*__pf) (ios_base&)) ^~~~~~~~ /usr/include/c++/7/ostream:127:7: note: no known conversion for argument 1 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'std::ios_base& (*)(std::ios_base&)' /usr/include/c++/7/ostream:166:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] operator<<(long __n) ^~~~~~~~ /usr/include/c++/7/ostream:166:7: note: no known conversion for argument 1 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'long int' /usr/include/c++/7/ostream:170:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] operator<<(unsigned long __n) ^~~~~~~~ /usr/include/c++/7/ostream:170:7: note: no known conversion for argument 1 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'long unsigned int' /usr/include/c++/7/ostream:174:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(bool) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] operator<<(bool __n) ^~~~~~~~ /usr/include/c++/7/ostream:174:7: note: no known conversion for argument 1 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'bool' In file included from /usr/include/c++/7/ostream:693:0, from /usr/include/c++/7/iostream:39, from salt2extinction.cc:1: /usr/include/c++/7/bits/ostream.tcc:91:5: note: candidate: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(short int) [with _CharT = char; _Traits = std::char_traits<char>] basic_ostream<_CharT, _Traits>:: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/7/bits/ostream.tcc:91:5: note: no known conversion for argument 1 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'short int' In file included from /usr/include/c++/7/iostream:39:0, from salt2extinction.cc:1: /usr/include/c++/7/ostream:181:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(short unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] operator<<(unsigned short __n) ^~~~~~~~ /usr/include/c++/7/ostream:181:7: note: no known conversion for argument 1 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'short unsigned int' In file included from /usr/include/c++/7/ostream:693:0, from /usr/include/c++/7/iostream:39, from salt2extinction.cc:1: /usr/include/c++/7/bits/ostream.tcc:105:5: note: candidate: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(int) [with _CharT = char; _Traits = std::char_traits<char>] basic_ostream<_CharT, _Traits>:: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/7/bits/ostream.tcc:105:5: note: no known conversion for argument 1 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'int' In file included from /usr/include/c++/7/iostream:39:0, from salt2extinction.cc:1: /usr/include/c++/7/ostream:192:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] operator<<(unsigned int __n) ^~~~~~~~ /usr/include/c++/7/ostream:192:7: note: no known conversion for argument 1 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'unsigned int' /usr/include/c++/7/ostream:201:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] operator<<(long long __n) ^~~~~~~~ /usr/include/c++/7/ostream:201:7: note: no known conversion for argument 1 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'long long int' /usr/include/c++/7/ostream:205:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] operator<<(unsigned long long __n) ^~~~~~~~ /usr/include/c++/7/ostream:205:7: note: no known conversion for argument 1 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'long long unsigned int' /usr/include/c++/7/ostream:220:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(double) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] operator<<(double __f) ^~~~~~~~ /usr/include/c++/7/ostream:220:7: note: no known conversion for argument 1 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'double' /usr/include/c++/7/ostream:224:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(float) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] operator<<(float __f) ^~~~~~~~ /usr/include/c++/7/ostream:224:7: note: no known conversion for argument 1 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'float' /usr/include/c++/7/ostream:232:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long double) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] operator<<(long double __f) ^~~~~~~~ /usr/include/c++/7/ostream:232:7: note: no known conversion for argument 1 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'long double' /usr/include/c++/7/ostream:245:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(const void*) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] operator<<(const void* __p) ^~~~~~~~ /usr/include/c++/7/ostream:245:7: note: no known conversion for argument 1 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'const void*' In file included from /usr/include/c++/7/ostream:693:0, from /usr/include/c++/7/iostream:39, from salt2extinction.cc:1: /usr/include/c++/7/bits/ostream.tcc:119:5: note: candidate: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__streambuf_type*) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<char>] basic_ostream<_CharT, _Traits>:: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/7/bits/ostream.tcc:119:5: note: no known conversion for argument 1 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'std::basic_ostream<char>::__streambuf_type* {aka std::basic_streambuf<char>*}' In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from salt2extinction.cc:1: /usr/include/c++/7/bits/basic_string.h:6284:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) operator<<(basic_ostream<_CharT, _Traits>& __os, ^~~~~~~~ /usr/include/c++/7/bits/basic_string.h:6284:5: note: template argument deduction/substitution failed: salt2extinction.cc:132:13: note: 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>' cerr << message << endl; ^~~~~~~ In file included from /usr/include/c++/7/bits/ios_base.h:46:0, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from salt2extinction.cc:1: /usr/include/c++/7/system_error:217:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::error_code&) operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e) ^~~~~~~~ /usr/include/c++/7/system_error:217:5: note: template argument deduction/substitution failed: salt2extinction.cc:132:13: note: cannot convert 'message' (type 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}') to type 'const std::error_code&' cerr << message << endl; ^~~~~~~ In file included from /usr/include/c++/7/iostream:39:0, from salt2extinction.cc:1: /usr/include/c++/7/ostream:497:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, _CharT) operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c) ^~~~~~~~ /usr/include/c++/7/ostream:497:5: note: template argument deduction/substitution failed: salt2extinction.cc:132:13: note: deduced conflicting types for parameter '_CharT' ('char' and 'std::__cxx11::basic_stringstream<char>') cerr << message << endl; ^~~~~~~ In file included from /usr/include/c++/7/iostream:39:0, from salt2extinction.cc:1: /usr/include/c++/7/ostream:502:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, char) operator<<(basic_ostream<_CharT, _Traits>& __out, char __c) ^~~~~~~~ /usr/include/c++/7/ostream:502:5: note: template argument deduction/substitution failed: salt2extinction.cc:132:13: note: cannot convert 'message' (type 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}') to type 'char' cerr << message << endl; ^~~~~~~ In file included from /usr/include/c++/7/iostream:39:0, from salt2extinction.cc:1: /usr/include/c++/7/ostream:508:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, char) operator<<(basic_ostream<char, _Traits>& __out, char __c) ^~~~~~~~ /usr/include/c++/7/ostream:508:5: note: template argument deduction/substitution failed: salt2extinction.cc:132:13: note: cannot convert 'message' (type 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}') to type 'char' cerr << message << endl; ^~~~~~~ In file included from /usr/include/c++/7/iostream:39:0, from salt2extinction.cc:1: /usr/include/c++/7/ostream:514:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, signed char) operator<<(basic_ostream<char, _Traits>& __out, signed char __c) ^~~~~~~~ /usr/include/c++/7/ostream:514:5: note: template argument deduction/substitution failed: salt2extinction.cc:132:13: note: cannot convert 'message' (type 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}') to type 'signed char' cerr << message << endl; ^~~~~~~ In file included from /usr/include/c++/7/iostream:39:0, from salt2extinction.cc:1: /usr/include/c++/7/ostream:519:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, unsigned char) operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c) ^~~~~~~~ /usr/include/c++/7/ostream:519:5: note: template argument deduction/substitution failed: salt2extinction.cc:132:13: note: cannot convert 'message' (type 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}') to type 'unsigned char' cerr << message << endl; ^~~~~~~ In file included from /usr/include/c++/7/iostream:39:0, from salt2extinction.cc:1: /usr/include/c++/7/ostream:539:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const _CharT*) operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s) ^~~~~~~~ /usr/include/c++/7/ostream:539:5: note: template argument deduction/substitution failed: salt2extinction.cc:132:13: note: mismatched types 'const _CharT*' and 'std::__cxx11::basic_stringstream<char>' cerr << message << endl; ^~~~~~~ In file included from /usr/include/c++/7/ostream:693:0, from /usr/include/c++/7/iostream:39, from salt2extinction.cc:1: /usr/include/c++/7/bits/ostream.tcc:321:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const char*) operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s) ^~~~~~~~ /usr/include/c++/7/bits/ostream.tcc:321:5: note: template argument deduction/substitution failed: salt2extinction.cc:132:13: note: cannot convert 'message' (type 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}') to type 'const char*' cerr << message << endl; ^~~~~~~ In file included from /usr/include/c++/7/iostream:39:0, from salt2extinction.cc:1: /usr/include/c++/7/ostream:556:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const char*) operator<<(basic_ostream<char, _Traits>& __out, const char* __s) ^~~~~~~~ /usr/include/c++/7/ostream:556:5: note: template argument deduction/substitution failed: salt2extinction.cc:132:13: note: cannot convert 'message' (type 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}') to type 'const char*' cerr << message << endl; ^~~~~~~ In file included from /usr/include/c++/7/iostream:39:0, from salt2extinction.cc:1: /usr/include/c++/7/ostream:569:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const signed char*) operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s) ^~~~~~~~ /usr/include/c++/7/ostream:569:5: note: template argument deduction/substitution failed: salt2extinction.cc:132:13: note: cannot convert 'message' (type 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}') to type 'const signed char*' cerr << message << endl; ^~~~~~~ In file included from /usr/include/c++/7/iostream:39:0, from salt2extinction.cc:1: /usr/include/c++/7/ostream:574:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const unsigned char*) operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s) ^~~~~~~~ /usr/include/c++/7/ostream:574:5: note: template argument deduction/substitution failed: salt2extinction.cc:132:13: note: cannot convert 'message' (type 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}') to type 'const unsigned char*' cerr << message << endl; ^~~~~~~ In file included from /usr/include/c++/7/iostream:39:0, from salt2extinction.cc:1: /usr/include/c++/7/ostream:682:5: note: candidate: template<class _Ostream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_ostream<_Ostream>, std::__is_insertable<typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type, const _Tp&, void> >::value, typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type>::type std::operator<<(_Ostream&&, const _Tp&) operator<<(_Ostream&& __os, const _Tp& __x) ^~~~~~~~ /usr/include/c++/7/ostream:682:5: note: template argument deduction/substitution failed: /usr/include/c++/7/ostream: In substitution of 'template<class _Ostream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_ostream<_Ostream>, std::__is_insertable<typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type, const _Tp&, void> >::value, typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type>::type std::operator<<(_Ostream&&, const _Tp&) [with _Ostream = std::basic_ostream<char>&; _Tp = std::__cxx11::basic_stringstream<char>]': salt2extinction.cc:132:13: required from here /usr/include/c++/7/ostream:682:5: error: no type named 'type' in 'struct std::enable_if<false, std::basic_ostream<char>&>' Makefile:598: recipe for target 'salt2extinction.lo' failed make[2]: *** [salt2extinction.lo] Error 1 make[2]: Leaving directory '/home/gautam/snfit-2.4.0/src' Makefile:245: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/home/gautam/snfit-2.4.0' Makefile:174: recipe for target 'all' failed make: *** [all] Error 2 (base) gautam@perseus:~/snfit-2.4.0$ make install Making install in src make[1]: Entering directory '/home/gautam/snfit-2.4.0/src' if /bin/bash ../libtool --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I.. -g -Wall -O3 -DUSELAPACK -DgFortran -g -Wall -O3 -MT salt2extinction.lo -MD -MP -MF ".deps/salt2extinction.Tpo" -c -o salt2extinction.lo salt2extinction.cc; \ then mv -f ".deps/salt2extinction.Tpo" ".deps/salt2extinction.Plo"; else rm -f ".deps/salt2extinction.Tpo"; exit 1; fi g++ -DHAVE_CONFIG_H -I. -I. -I.. -g -Wall -O3 -DUSELAPACK -DgFortran -g -Wall -O3 -MT salt2extinction.lo -MD -MP -MF .deps/salt2extinction.Tpo -c salt2extinction.cc -fPIC -DPIC -o .libs/salt2extinction.o salt2extinction.cc: In member function 'void Salt2ExtinctionLaw::Read(std::istream&)': salt2extinction.cc:132:10: error: no match for 'operator<<' (operand types are 'std::ostream {aka std::basic_ostream<char>}' and 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}') cerr << message << endl; ~~~~~^~~~~~~~~~ salt2extinction.cc:132:10: note: candidate: operator<<(int, int) <built-in> salt2extinction.cc:132:10: note: no known conversion for argument 2 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'int' In file included from /usr/include/c++/7/iostream:39:0, from salt2extinction.cc:1: /usr/include/c++/7/ostream:108:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ostream_type& (*)(std::basic_ostream<_CharT, _Traits>::__ostream_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] operator<<(__ostream_type& (*__pf)(__ostream_type&)) ^~~~~~~~ /usr/include/c++/7/ostream:108:7: note: no known conversion for argument 1 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'std::basic_ostream<char>::__ostream_type& (*)(std::basic_ostream<char>::__ostream_type&) {aka std::basic_ostream<char>& (*)(std::basic_ostream<char>&)}' /usr/include/c++/7/ostream:117:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ios_type& (*)(std::basic_ostream<_CharT, _Traits>::__ios_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>; std::basic_ostream<_CharT, _Traits>::__ios_type = std::basic_ios<char>] operator<<(__ios_type& (*__pf)(__ios_type&)) ^~~~~~~~ /usr/include/c++/7/ostream:117:7: note: no known conversion for argument 1 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'std::basic_ostream<char>::__ios_type& (*)(std::basic_ostream<char>::__ios_type&) {aka std::basic_ios<char>& (*)(std::basic_ios<char>&)}' /usr/include/c++/7/ostream:127:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::ios_base& (*)(std::ios_base&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] operator<<(ios_base& (*__pf) (ios_base&)) ^~~~~~~~ /usr/include/c++/7/ostream:127:7: note: no known conversion for argument 1 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'std::ios_base& (*)(std::ios_base&)' /usr/include/c++/7/ostream:166:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] operator<<(long __n) ^~~~~~~~ /usr/include/c++/7/ostream:166:7: note: no known conversion for argument 1 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'long int' /usr/include/c++/7/ostream:170:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] operator<<(unsigned long __n) ^~~~~~~~ /usr/include/c++/7/ostream:170:7: note: no known conversion for argument 1 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'long unsigned int' /usr/include/c++/7/ostream:174:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(bool) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] operator<<(bool __n) ^~~~~~~~ /usr/include/c++/7/ostream:174:7: note: no known conversion for argument 1 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'bool' In file included from /usr/include/c++/7/ostream:693:0, from /usr/include/c++/7/iostream:39, from salt2extinction.cc:1: /usr/include/c++/7/bits/ostream.tcc:91:5: note: candidate: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(short int) [with _CharT = char; _Traits = std::char_traits<char>] basic_ostream<_CharT, _Traits>:: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/7/bits/ostream.tcc:91:5: note: no known conversion for argument 1 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'short int' In file included from /usr/include/c++/7/iostream:39:0, from salt2extinction.cc:1: /usr/include/c++/7/ostream:181:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(short unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] operator<<(unsigned short __n) ^~~~~~~~ /usr/include/c++/7/ostream:181:7: note: no known conversion for argument 1 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'short unsigned int' In file included from /usr/include/c++/7/ostream:693:0, from /usr/include/c++/7/iostream:39, from salt2extinction.cc:1: /usr/include/c++/7/bits/ostream.tcc:105:5: note: candidate: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(int) [with _CharT = char; _Traits = std::char_traits<char>] basic_ostream<_CharT, _Traits>:: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/7/bits/ostream.tcc:105:5: note: no known conversion for argument 1 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'int' In file included from /usr/include/c++/7/iostream:39:0, from salt2extinction.cc:1: /usr/include/c++/7/ostream:192:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] operator<<(unsigned int __n) ^~~~~~~~ /usr/include/c++/7/ostream:192:7: note: no known conversion for argument 1 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'unsigned int' /usr/include/c++/7/ostream:201:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] operator<<(long long __n) ^~~~~~~~ /usr/include/c++/7/ostream:201:7: note: no known conversion for argument 1 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'long long int' /usr/include/c++/7/ostream:205:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] operator<<(unsigned long long __n) ^~~~~~~~ /usr/include/c++/7/ostream:205:7: note: no known conversion for argument 1 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'long long unsigned int' /usr/include/c++/7/ostream:220:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(double) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] operator<<(double __f) ^~~~~~~~ /usr/include/c++/7/ostream:220:7: note: no known conversion for argument 1 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'double' /usr/include/c++/7/ostream:224:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(float) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] operator<<(float __f) ^~~~~~~~ /usr/include/c++/7/ostream:224:7: note: no known conversion for argument 1 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'float' /usr/include/c++/7/ostream:232:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long double) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] operator<<(long double __f) ^~~~~~~~ /usr/include/c++/7/ostream:232:7: note: no known conversion for argument 1 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'long double' /usr/include/c++/7/ostream:245:7: note: candidate: std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(const void*) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>] operator<<(const void* __p) ^~~~~~~~ /usr/include/c++/7/ostream:245:7: note: no known conversion for argument 1 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'const void*' In file included from /usr/include/c++/7/ostream:693:0, from /usr/include/c++/7/iostream:39, from salt2extinction.cc:1: /usr/include/c++/7/bits/ostream.tcc:119:5: note: candidate: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__streambuf_type*) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<char>] basic_ostream<_CharT, _Traits>:: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/7/bits/ostream.tcc:119:5: note: no known conversion for argument 1 from 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' to 'std::basic_ostream<char>::__streambuf_type* {aka std::basic_streambuf<char>*}' In file included from /usr/include/c++/7/string:52:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from salt2extinction.cc:1: /usr/include/c++/7/bits/basic_string.h:6284:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) operator<<(basic_ostream<_CharT, _Traits>& __os, ^~~~~~~~ /usr/include/c++/7/bits/basic_string.h:6284:5: note: template argument deduction/substitution failed: salt2extinction.cc:132:13: note: 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>' cerr << message << endl; ^~~~~~~ In file included from /usr/include/c++/7/bits/ios_base.h:46:0, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from salt2extinction.cc:1: /usr/include/c++/7/system_error:217:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::error_code&) operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e) ^~~~~~~~ /usr/include/c++/7/system_error:217:5: note: template argument deduction/substitution failed: salt2extinction.cc:132:13: note: cannot convert 'message' (type 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}') to type 'const std::error_code&' cerr << message << endl; ^~~~~~~ In file included from /usr/include/c++/7/iostream:39:0, from salt2extinction.cc:1: /usr/include/c++/7/ostream:497:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, _CharT) operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c) ^~~~~~~~ /usr/include/c++/7/ostream:497:5: note: template argument deduction/substitution failed: salt2extinction.cc:132:13: note: deduced conflicting types for parameter '_CharT' ('char' and 'std::__cxx11::basic_stringstream<char>') cerr << message << endl; ^~~~~~~ In file included from /usr/include/c++/7/iostream:39:0, from salt2extinction.cc:1: /usr/include/c++/7/ostream:502:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, char) operator<<(basic_ostream<_CharT, _Traits>& __out, char __c) ^~~~~~~~ /usr/include/c++/7/ostream:502:5: note: template argument deduction/substitution failed: salt2extinction.cc:132:13: note: cannot convert 'message' (type 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}') to type 'char' cerr << message << endl; ^~~~~~~ In file included from /usr/include/c++/7/iostream:39:0, from salt2extinction.cc:1: /usr/include/c++/7/ostream:508:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, char) operator<<(basic_ostream<char, _Traits>& __out, char __c) ^~~~~~~~ /usr/include/c++/7/ostream:508:5: note: template argument deduction/substitution failed: salt2extinction.cc:132:13: note: cannot convert 'message' (type 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}') to type 'char' cerr << message << endl; ^~~~~~~ In file included from /usr/include/c++/7/iostream:39:0, from salt2extinction.cc:1: /usr/include/c++/7/ostream:514:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, signed char) operator<<(basic_ostream<char, _Traits>& __out, signed char __c) ^~~~~~~~ /usr/include/c++/7/ostream:514:5: note: template argument deduction/substitution failed: salt2extinction.cc:132:13: note: cannot convert 'message' (type 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}') to type 'signed char' cerr << message << endl; ^~~~~~~ In file included from /usr/include/c++/7/iostream:39:0, from salt2extinction.cc:1: /usr/include/c++/7/ostream:519:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, unsigned char) operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c) ^~~~~~~~ /usr/include/c++/7/ostream:519:5: note: template argument deduction/substitution failed: salt2extinction.cc:132:13: note: cannot convert 'message' (type 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}') to type 'unsigned char' cerr << message << endl; ^~~~~~~ In file included from /usr/include/c++/7/iostream:39:0, from salt2extinction.cc:1: /usr/include/c++/7/ostream:539:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const _CharT*) operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s) ^~~~~~~~ /usr/include/c++/7/ostream:539:5: note: template argument deduction/substitution failed: salt2extinction.cc:132:13: note: mismatched types 'const _CharT*' and 'std::__cxx11::basic_stringstream<char>' cerr << message << endl; ^~~~~~~ In file included from /usr/include/c++/7/ostream:693:0, from /usr/include/c++/7/iostream:39, from salt2extinction.cc:1: /usr/include/c++/7/bits/ostream.tcc:321:5: note: candidate: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const char*) operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s) ^~~~~~~~ /usr/include/c++/7/bits/ostream.tcc:321:5: note: template argument deduction/substitution failed: salt2extinction.cc:132:13: note: cannot convert 'message' (type 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}') to type 'const char*' cerr << message << endl; ^~~~~~~ In file included from /usr/include/c++/7/iostream:39:0, from salt2extinction.cc:1: /usr/include/c++/7/ostream:556:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const char*) operator<<(basic_ostream<char, _Traits>& __out, const char* __s) ^~~~~~~~ /usr/include/c++/7/ostream:556:5: note: template argument deduction/substitution failed: salt2extinction.cc:132:13: note: cannot convert 'message' (type 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}') to type 'const char*' cerr << message << endl; ^~~~~~~ In file included from /usr/include/c++/7/iostream:39:0, from salt2extinction.cc:1: /usr/include/c++/7/ostream:569:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const signed char*) operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s) ^~~~~~~~ /usr/include/c++/7/ostream:569:5: note: template argument deduction/substitution failed: salt2extinction.cc:132:13: note: cannot convert 'message' (type 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}') to type 'const signed char*' cerr << message << endl; ^~~~~~~ In file included from /usr/include/c++/7/iostream:39:0, from salt2extinction.cc:1: /usr/include/c++/7/ostream:574:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const unsigned char*) operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s) ^~~~~~~~ /usr/include/c++/7/ostream:574:5: note: template argument deduction/substitution failed: salt2extinction.cc:132:13: note: cannot convert 'message' (type 'std::stringstream {aka std::__cxx11::basic_stringstream<char>}') to type 'const unsigned char*' cerr << message << endl; ^~~~~~~ In file included from /usr/include/c++/7/iostream:39:0, from salt2extinction.cc:1: /usr/include/c++/7/ostream:682:5: note: candidate: template<class _Ostream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_ostream<_Ostream>, std::__is_insertable<typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type, const _Tp&, void> >::value, typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type>::type std::operator<<(_Ostream&&, const _Tp&) operator<<(_Ostream&& __os, const _Tp& __x) ^~~~~~~~ /usr/include/c++/7/ostream:682:5: note: template argument deduction/substitution failed: /usr/include/c++/7/ostream: In substitution of 'template<class _Ostream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_ostream<_Ostream>, std::__is_insertable<typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type, const _Tp&, void> >::value, typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type>::type std::operator<<(_Ostream&&, const _Tp&) [with _Ostream = std::basic_ostream<char>&; _Tp = std::__cxx11::basic_stringstream<char>]': salt2extinction.cc:132:13: required from here /usr/include/c++/7/ostream:682:5: error: no type named 'type' in 'struct std::enable_if<false, std::basic_ostream<char>&>' Makefile:598: recipe for target 'salt2extinction.lo' failed make[1]: *** [salt2extinction.lo] Error 1