Gnucash CVS broken again - ? Not on FC3/OSX/Debian.

Neil Williams linux at codehelp.co.uk
Sat Oct 1 16:38:12 EDT 2005


On Saturday 01 October 2005 9:09 pm, David Hampton wrote:
> You've done it again.  You've broken compilation of the gnucash tree.

That tree was built on Debian, FC3 and Mac OSX - several times today and most 
of the last week. Just been REBUILT on FC3 for the fourth time today. make 
clean, make - fine.

AFAICT, I have not broken the build.

> I 
> just don't understand how you decide when to commit code.

When it compiles AND tests successfully, as you'd expect.

I have no explanation for your problems (as long as you did get each patch) - 
those files compile fine on these systems.

What errors are you getting? If it's a never ending stream of syntax errors it 
is the wrong use of a private qof header instead of qof.h that, for whatever 
reason, was not picked up on any of my systems.

> The following 
> files do not compile for me:

>   src/backend/postgres/*
>   src/gnome-utils/gnc-html-graph-gog.c

I've just recompiled gnome-utils on FC3 and it was fine. No errors.

>   src/gnome-utils/gnc-plugin.c
>   src/import-export/hbci/gnc-plugin-hbci.c

I haven't changed those files. They build fine on all my systems, including 
FC3.

> What I can't understand is how the hell you could commit changes to
> gnome-utils that don't compile.

Umm, as far as I can tell, I have not. I don't know what errors you've seen 
but I've seen none.

However, I can guess at what has happened.

The files you mention probably still contain references to private QOF headers 
and replacing all QOF includes with a single #include "qof.h" will probably 
solve the problem. I can't test it as I don't have a problem with those 
files.

What are the errors you are getting?

> That's not optional code, its 
> fundamental to gnucash.  Its not like the debugging code in those files
> was added recently and you forgot to run 'cvs update'.  That code was
> added last April and February, respectively.  I'd like to know how were
> you able compile gnucash with these files being broken.

Umm, I did, many times, on three different installations on regular occasions 
and with ALL the compiler warning flags enabled, set AND working.

> David
>
> P.S. What was your reasoning for moving the trace definitions from gnc-
> trace.h to gnc-engine.h?

OK. That's in the doxygen stuff but as you're having problems with the build 
at your end, I'll summarise here.

1. Only the GnuCash log_modules are in gnc-engine.h
2. The QOF log_modules are in relevant QOF headers (which ones is not 
relevant).
3. Only the CORE log_modules need to be defined anywhere centrally. If you 
want to expand the numerous GNC_MOD_GUI declarations into subclasses, you can 
simply define them locally, that way you only have to change a file in the 
same directory and make a local rebuild.

Therefore, the declarations have moved so that you don't have to keep 
recompiling src/engine when you simply want to add, customise, extend or 
modify a log_module.

Simply make a declaration (or change the one in the current file), call 
gnc_set_log_level with that declared QfLogModule somewhere sensible from the 
init code of that section and away.

> I'm having to add the latter header to source 
> files that never needed it before, and in fact have nothing to do with
> the code in src/engine.

? I did all those changes in the truly enormous last patch.

At least, as far as these test systems indicated was necessary. I'm not in the 
habit of changing things that are not broken.

I'm sorry you've got problems, but I have done everything I can to prevent 
that.

-- 

Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.gnucash.org/pipermail/gnucash-devel/attachments/20051001/b30d0876/attachment.bin


More information about the gnucash-devel mailing list