On zaterdag 23 april 2011, Christian Stimming wrote: > 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. > Thanks for figuring this out.
> 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? > Because that's what the GtkBuilder documentation suggested [1]. I'll admit I just blindly followed the advice given. I had no idea this had such an impact on the rest of the GnuCash library inter-dependencies. > 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. Is that a design issue in the GnuCash code ? I mean should we normally explicitely decide which symbols to export an which not ? Or is this just bad advice on the gtkbuilder documentation page ? Geert [1] http://developer.gnome.org/gtk/stable/GtkBuilder.html#gtk-builder-connect- signals _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel