cpp branch

Geert Janssens geert.gnucash at kobaltwit.be
Tue Jan 10 09:22:41 EST 2017


Bob,

Op vrijdag 6 januari 2017 12:55:34 CET schreef Robert Fewell:
> Geert,
> 
> Sorry for the direct email, was not sure how to advise of my efforts with
> your cpp branch.
> 
While the branch is not committed to the official gnucash repo yet, it's still 
code related to gnucash so feel free to post further questions or remarks on 
this directly to gnucash-devel. This makes the information available to other 
interested developers or community members. I am cc-ing the list on my reply 
to that effect.

> I forked it, rebased it to master and tried to build and run it with mixed
> success. I have added my changes to my git hub branch called 'fork_branch',
> most of which you will have a better solution.

I have commented on your fork_branch directly [1].

> The date format changes failed like the old one on master so added some
> tests for valid day and month ranges.
> 
As explained there, you should change your calling code instead to properly 
deal with exceptions. The day and month ranges are already tested by the 
datetime code in the gnucash engine. As this code has been converted to c++ by 
John, it will throw an exception if any of the values is out of range.

> It now compiles and runs, have no idea what those travis failures are,

You can ignore the travis failures for now. There is an issue with setting up 
google's test framework on travis. So all tests using that framework will 
fail. I plan to look at this once I finish up my current work on the csv 
importer.

> but
> crashes after I fill in 'Match Import Accounts' with this on the terminal,
> 
> gnucash: symbol lookup error: /usr/lib64/gnucash/libgncmod-csv-import.so:
> undefined symbol:
> _ZN5boost11basic_regexIiNS_16icu_regex_traitsEE9do_assignEPKiS4_j
> 
I'm not seeing this here. It clearly has to do with boost-regex and in 
particular with the invocation requiring icu.

Two things to check:
- do you have libicu development libraries installed ? On fedora the required 
package is libicu-devel.
- is your boost-reqex package compiled with icu support. I don't know if this 
has to be explicitly enabled or not, it just works for me with the fedora 
packages and I never built boost from source yet myself.

> Happy new Year,

Happy new Year to you too!

Geert

[1] https://github.com/Bob-IT/gnucash/commits/fork_branch


More information about the gnucash-devel mailing list