> On Nov 18, 2016, at 2:49 PM, John Ralls <jra...@ceridwen.us> wrote: > > >> On Nov 18, 2016, at 12:53 PM, Alex Aycinena <alex.aycin...@gmail.com> wrote: >> >> >> >> On Thu, Nov 17, 2016 at 5:10 PM, John Ralls <jra...@ceridwen.us >> <mailto:jra...@ceridwen.us>> wrote: >> >>> On Nov 17, 2016, at 4:54 PM, Alex Aycinena <alex.aycin...@gmail.com >>> <mailto:alex.aycin...@gmail.com>> wrote: >>> >>> Hi, >>> >>> I get the following compile errors today: >>> >> <snip> >>> >>> Am I missing a library or something? >> >> Alex, >> >> That didn't take long! ;-) >> >> Only if your compiler doesn't support C++11. More likely your libstdc++ >> doesn't pull in <Algorithms> when <String> is included. >> >> Travis puked test-backend-dbi-basic.c for a similar complaint, this one for >> std::for_each. I've just pushed what I hope will fix that and your error. >> >> Regards, >> John Ralls >> >> >> John, >> >> After pulling in your push, I now get: >> >> /home/gnucash-dev/gitcheckouts/gnucash-clean/src/backend/dbi/gnc-dbiproviderimpl.hpp: >> In member function ‘StrVec GncDbiProviderImpl<T>::get_table_list(dbi_conn, >> const string&) [with DbType T = (DbType)0; StrVec = >> std::vector<std::__cxx11::basic_string<char> >; dbi_conn = void*; >> std::__cxx11::string = std::__cxx11::basic_string<char>]’: >> /home/gnucash-dev/gitcheckouts/gnucash-clean/src/backend/dbi/gnc-dbiproviderimpl.hpp:245:71: >> error: cannot convert ‘std::vector<std::__cxx11::basic_string<char> >> >::iterator {aka >> __gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char>*, >> std::vector<std::__cxx11::basic_string<char> > >}’ to ‘const char*’ for >> argument ‘1’ to ‘int remove(const char*)’ >> auto end = std::remove(list.begin(), list.end(), "sqlite_sequence"); >> ^ >> /home/gnucash-dev/gitcheckouts/gnucash-clean/src/backend/dbi/gnc-dbiproviderimpl.hpp: >> In member function ‘StrVec GncDbiProviderImpl<T>::get_table_list(dbi_conn, >> const string&) [with DbType T = (DbType)2; StrVec = >> std::vector<std::__cxx11::basic_string<char> >; dbi_conn = void*; >> std::__cxx11::string = std::__cxx11::basic_string<char>]’: >> /home/gnucash-dev/gitcheckouts/gnucash-clean/src/backend/dbi/gnc-dbiproviderimpl.hpp:266:16: >> error: ‘remove_if’ is not a member of ‘std’ >> auto end = std::remove_if (list.begin(), list.end(), >> ^~~ >> /home/gnucash-dev/gitcheckouts/gnucash-clean/src/backend/dbi/gnc-dbisqlconnection.cpp: >> In member function ‘bool GncDbiSqlConnection::table_operation(const >> StrVec&, TableOpType)’: >> /home/gnucash-dev/gitcheckouts/gnucash-clean/src/backend/dbi/gnc-dbisqlconnection.cpp:655:54: >> error: no matching function for call to >> ‘find(std::vector<std::__cxx11::basic_string<char> >::iterator, >> std::vector<std::__cxx11::basic_string<char> >::iterator, >> std::__cxx11::basic_string<char>&)’ >> all_tables.end(), table) != all_tables.end()) >> ^ >> In file included from /usr/include/c++/6.2.1/bits/locale_facets.h:48:0, >> from /usr/include/c++/6.2.1/bits/basic_ios.h:37, >> from /usr/include/c++/6.2.1/ios:44, >> from /usr/include/c++/6.2.1/istream:38, >> from /usr/include/c++/6.2.1/sstream:38, >> from >> /home/gnucash-dev/gitcheckouts/gnucash-clean/src/backend/sql/gnc-sql-backend.hpp:35, >> from >> /home/gnucash-dev/gitcheckouts/gnucash-clean/src/backend/dbi/gnc-backend-dbi.hpp:37, >> from >> /home/gnucash-dev/gitcheckouts/gnucash-clean/src/backend/dbi/gnc-dbisqlconnection.hpp:30, >> from >> /home/gnucash-dev/gitcheckouts/gnucash-clean/src/backend/dbi/gnc-dbisqlconnection.cpp:31: >> /usr/include/c++/6.2.1/bits/streambuf_iterator.h:369:5: note: candidate: >> template<class _CharT2> typename >> __gnu_cxx::__enable_if<std::__is_char<_CharT2>::__value, >> std::istreambuf_iterator<_CharT> >::__type >> std::find(std::istreambuf_iterator<_CharT>, >> std::istreambuf_iterator<_CharT>, const _CharT2&) >> find(istreambuf_iterator<_CharT> __first, >> ^~~~ >> /usr/include/c++/6.2.1/bits/streambuf_iterator.h:369:5: note: template >> argument deduction/substitution failed: >> /home/gnucash-dev/gitcheckouts/gnucash-clean/src/backend/dbi/gnc-dbisqlconnection.cpp:655:54: >> note: ‘__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char>*, >> std::vector<std::__cxx11::basic_string<char> > >’ is not derived from >> ‘std::istreambuf_iterator<_CharT>’ >> all_tables.end(), table) != all_tables.end()) >> ^ >> At global scope: >> cc1plus: error: unrecognized command line option ‘-Wno-deprecated-register’ >> [-Werror] >> cc1plus: all warnings being treated as errors >> Makefile:678: recipe for target 'gnc-dbisqlconnection.lo' failed >> >> >> I'm building on Fedora 24, by the way. > > Alex, > > My first guess would be that gnc-dbiproviderimpl.hpp and > gnc-dbisqlconnection.hpp need the same treatment, to add "#include > <algorithm> to the other libstdc++ headers. I'll have to set up a fedora24 VM > to duplicate your build environment, so it will take a few hours to be sure. >
Alex, Done and pushed. Regards, John Ralls _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel