Okay, I've found the problem, but I'm at a loss as to how to fix it.  This 
gets into deep dark arcane magic with libtool and make that I'm not really 
up on.  The final compile line that the make file generates (on my system) 
is:

gcc -g -O2 -Wall -Wunused -Wall -Wno-unused 
-Werror-implicit-function-declaration -I/usr/include/pgsql 
-I/usr/include/pgsql -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 
-I/usr/lib/glib/include -I/usr/X11R6/include -I/usr/include/gnome-1.0 
-DNEED_GNOMESUPPORT_H -I/usr/lib/gnome-libs/include 
-I/usr/include/orbit-1.0 -I/usr/include -o .libs/gnucash MultiLedger.o 
SplitLedger.o EuroUtils.o FileDialog.o gnc-component-manager.o 
gnc-exp-parser.o gnc-main.o gnc-ui-util.o messages.o -rdynamic -rdynamic 
-rdynamic -rdynamic -rdynamic register/libgncregister.a 
register/gnome/libgncregistergnome.a guile/libgncguile.a 
gnome/libgncgnome.a calculation/libgnccalc.a engine/.libs/libgncengine.so 
-L/usr/lib -L/usr/X11R6/lib /usr/lib/libguppitank.so /usr/lib/libguppi.so 
-lzvt -lutil /usr/lib/libbonobo-print.so 
/usr/lib/libg-wrap-runtime-guile.so /usr/lib/libguile.so 
/usr/lib/libgtkhtml.so /usr/lib/libbonobo.so /usr/lib/libbonobox.so 
/usr/lib/libgal.so /usr/lib/libgnomeprint.so /usr/lib/libfreetype.so 
/usr/lib/libglade-gnome.so /usr/lib/libglade.so /usr/lib/libxml.so -lz 
/usr/lib/libgdk_pixbuf.so /usr/lib/libgnomecanvaspixbuf.so -lgnomeui 
-lart_lgpl /usr/lib/libgdk_imlib.so -lSM -lICE -lgnome -lgnomesupport 
/usr/lib/libesd.so /usr/lib/libaudiofile.so /usr/lib/libgconf-gtk-1.so 
/usr/lib/libgconf-1.so /usr/lib/liboaf.so -lORBitCosNaming -lORBit -lIIOP 
-lORBitutil /usr/lib/libgtk.so /usr/lib/libgdk.so /usr/lib/libgmodule.so 
/usr/lib/libglib.so -ldl -lXi -lXext -lX11 /usr/lib/libghttp.so -ldb1 
/usr/lib/libpopt.so -lm

I think (but I'm not sure) that this is actually generated by libtool.  The 
problem is that it's missing a reference to gnome/libgncgnome that should 
be right after the series of -rdynamic statements.  If I manually add it 
and run the new line:

 gcc -g -O2 -Wall -Wunused -Wall -Wno-unused 
-Werror-implicit-function-declaration -I/usr/include/pgsql 
-I/usr/include/pgsql -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 
-I/usr/lib/glib/include -I/usr/X11R6/include -I/usr/include/gnome-1.0 
-DNEED_GNOMESUPPORT_H -I/usr/lib/gnome-libs/include 
-I/usr/include/orbit-1.0 -I/usr/include -o .libs/gnucash MultiLedger.o 
SplitLedger.o EuroUtils.o FileDialog.o gnc-component-manager.o 
gnc-exp-parser.o gnc-main.o gnc-ui-util.o messages.o -rdynamic -rdynamic 
-rdynamic -rdynamic -rdynamic gnome/libgncgnome.a register/libgncregister.a 
register/gnome/libgncregistergnome.a guile/libgncguile.a 
gnome/libgncgnome.a calculation/libgnccalc.a engine/.libs/libgncengine.so 
-L/usr/lib -L/usr/X11R6/lib /usr/lib/libguppitank.so /usr/lib/libguppi.so 
-lzvt -lutil /usr/lib/libbonobo-print.so 
/usr/lib/libg-wrap-runtime-guile.so /usr/lib/libguile.so 
/usr/lib/libgtkhtml.so /usr/lib/libbonobo.so /usr/lib/libbonobox.so 
/usr/lib/libgal.so /usr/lib/libgnomeprint.so /usr/lib/libfreetype.so 
/usr/lib/libglade-gnome.so /usr/lib/libglade.so /usr/lib/libxml.so -lz 
/usr/lib/libgdk_pixbuf.so /usr/lib/libgnomecanvaspixbuf.so -lgnomeui 
-lart_lgpl /usr/lib/libgdk_imlib.so -lSM -lICE -lgnome -lgnomesupport 
/usr/lib/libesd.so /usr/lib/libaudiofile.so /usr/lib/libgconf-gtk-1.so 
/usr/lib/libgconf-1.so /usr/lib/liboaf.so -lORBitCosNaming -lORBit -lIIOP 
-lORBitutil /usr/lib/libgtk.so /usr/lib/libgdk.so /usr/lib/libgmodule.so 
/usr/lib/libglib.so -ldl -lXi -lXext -lX11 /usr/lib/libghttp.so -ldb1 
/usr/lib/libpopt.so -lm

it happily links and compiles.

I've tried hacking the makefile, and I can't figure out what I need to do 
to make it stick the "gnome/libgncgnome" in.  If I stick in an arbitrary 
text string it makes it in there, and of course I get an error because the 
file doesn't exist.  If I stick in "gnome/libgncgnome" it seems to get 
eaten -- by libtool?  Any pointers would be appreciated.  At least things 
are compiling once again, albeit inconveniently.



--On Friday, March 29, 2002 12:13:53 PM -0500 "Michael T. Garrison Stuber" 
<[EMAIL PROTECTED]> wrote:

> Greetings!
>
>       Like an idiot I went ahead and upgraded my desktop to Mandrake 8.2.  I
> am now getting a linking error when I try to build GNUCash.  The error is
> identical to one reported under Debian Woody back in January.  When the
> make scripts go to link up the GNUCash executable GCC spits out:
>
> gnome/libgncgnome.a(dialog-totd.o): In function
> `gnc_ui_totd_dialog_create':
> /usr/gnucash/gnucash-1.6/src/gnome/dialog-totd.c:110: undefined reference
> to `gnc_get_current_tip'
>
> plus twelve other "undefined reference" errors.  All of the undefined
> references seem to be in guile/libgncguile.a, which is happily referenced
> in the link line.  I've tried playing with different make settings.  I've
> rebuilt from a clean sync from CVS.  I'm going out of my skull here.
> Help!
>
> --
> Michael T. Garrison Stuber
> _______________________________________________
> gnucash-devel mailing list
> [EMAIL PROTECTED]
> http://www.gnucash.org/cgi-bin/mailman/listinfo/gnucash-devel


_______________________________________________
gnucash-devel mailing list
[EMAIL PROTECTED]
http://www.gnucash.org/cgi-bin/mailman/listinfo/gnucash-devel

Reply via email to