win32 trunk daily build runs again (was: still broken)

Christian Stimming stimming at tuhh.de
Sat Apr 23 15:07:09 EDT 2011


Am Samstag, 23. April 2011 schrieb Phil Longstaff:
> > 762: undefined reference to `gnc_progress_dialog_set_primary'
> > c:\soft\gnucash\build\src\import-export\qif-
> > import/../../../../repos/src/import-export/qif-import/druid-qif-import.c:
> > 763: undefined reference to `gnc_progress_dialog_set_secondary'
> > [...]
> > 
> > and some more undefined references, all of symbols that should be in
> > src/gnome/libgnc-gnome.so but somehow cannot be found. There haven't been
> > any changes in the qif-import/Makefile.am linker flags, so I have no
> > idea why this shows up now.
> 
> Yes, I ran into this.  I think my hack (since I didn't need bleeding
> edge source) was to just back off to an earlier version.  There was some
> point at which this libgnc-gnome problem started.  Maybe I can narrow
> down what checkin it was.

I got it; fix is committed with r20593.

Recently some functions were introduces with the attribute G_MODULE_EXPORT 
(Geert in r20591 and r20533). In short: No good, please don't use that 
attribute inside gnucash. Why did you do this?

Here's the issue: In gnucash, our internally "downstream" libraries rely on 
*all* symbols being exported from the internally "upstream" libraries. This is 
done by mingw's linker if and *only* if no symbol at all was marked as being 
exported.  As soon as at least one symbol is manually marked as export, 
nothing except those marked symbols are exported, which will immediately lead 
to "unresolved symbols" in the win32 build. As Geert has introduced at least 
one function with G_MODULE_EXPORT attribute in libgnc-gnome, all other symbols 
from libgnc-gnome were no longer being exported for e.g. the qif-import code, 
which ran into the above build error.

Now that I've disabled that attribute again, the win32 build finally runs 
until end. I've triggered a build manually, which should complete in approx. 1 
hour from now, and you can check the log at 
http://code.gnucash.org/builds/win32/build-logs/

Regards,

Christian


More information about the gnucash-devel mailing list