> 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.

Regards,
John Ralls

_______________________________________________
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Reply via email to