compile errors

Alex Aycinena alex.aycinena at gmail.com
Fri Nov 18 15:53:39 EST 2016


On Thu, Nov 17, 2016 at 5:10 PM, John Ralls <jralls at ceridwen.us> wrote:

>
> > On Nov 17, 2016, at 4:54 PM, Alex Aycinena <alex.aycinena at 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.

Thanks,

Alex


More information about the gnucash-devel mailing list