> 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

Reply via email to