Gnucash 2.6.10 question - Why WebKit ?

John Ralls jralls at ceridwen.us
Tue Dec 29 13:36:52 EST 2015


> On Dec 29, 2015, at 9:39 AM, Arno <nvana_31 at yahoo.com> wrote:
> 
> Dear John,
> 
> To me it is still a pain to build a working GNUcash because of the GTK+ 2 & 3 symbols issue (compilation works fine BTW): GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported
> 
> Dependancy hell anyone ?
> 
> As for modifying to code I have been trying for maybe 2 hours to tweak the 2.6.10 code to disable the HTML rendering at all. The reports look fancy, but for the bookkeeping of our company they're not necessary at all.
> 
> But as the code is quite complex and I don't have much documentation (I only see the Help and Concepts guide) on how the application is designed, it is very hard when using just basic tools like 'find . -type f -exec grep 'something' {} \;' to actually search in and modify the code.
> 
> If someone can point me out which functions I would need to tweak to disable the HTML reports I could find/grep them and maybe get it done.
> 
> Is there an easy way to disable this GTK+ 2 / 3 symbols check ? Maybe the binary does actually work with these 2 and 3 symbols combined.

Dear Arno,

If you're getting Gtk2 & 3 errors then one of GnuCash's dependency libs was built against Gtk3 instead of Gtk2. It's common for libraries that work on either to default to Gtk3 and require a config parameter to link to Gtk2. You'll need to go through all of those libraries with ldd to find which ones are linked incorrectly. Gtkhtml-3.14.3 was released long before Gtk3 so it supports only Gtk2 and can't be the culprit.

The GnuCash developer docs are at http://code.gnucash.org/docs/head, but nothing in the report system appears to be documented.

I'm not at all familiar with the system, but a cursory look suggests that the simplest approach would be to create an "external" GncHtml subclass (see src/html/gnc-html.h) that just accumulates the document and writes it to a text file, then calls the default browser with gtk_show_uri(). You can find an example of that in gnc_gnome_help, located in src/gnome-utils/gnome-utils.c.

Regards,
John Ralls




More information about the gnucash-user mailing list